将CSV拆分为文件

问题描述 投票:1回答:2

我正在寻找一些我想要做的指导。

我有一个.csv文件,在这个文件中我想分解每一行并将其保存到自己的文本文件中。

我有那部分工作,但是,当它运行时,我正在丢失逗号。我假设发生了这种情况,因为我正在将.csv文件转换为列表然后转换为文本文件。

我觉得必须有更好的方法!

def createParam():
    with open('testcsv.csv', 'r') as f:
        reader = csv.reader(f)
        csvList = list(reader)

    for item in csvList:
        os.mkdir(r"C:\Users\user\Desktop\Test Path\\" + item[0])
        f=open(r"C:\Users\user\Desktop\Test Path\\" + item[0] + r"\prm.263","w+")
        f.writelines(item)
        f.close

CSV

Store1,1080,SafehavenHumaneSociety,2904,LuckyPaws,3156,StMartinsDogRescue,4051,SalemFriendsofFelines,4088,HeartlandHumaneSociety,4118,Fortheloveofacat,6329,PeacefulPack,7710,OneVoice4Paws,7981,KeithasKittieRescue,7984,InternationalReptileRescueInc,9304,SeniorDogRescueOfOregon,9309,LovedAgainPets Store2 ,0028,ArizonaAnimalWelfareLeague,0039,HelpingAnimalsLiveOnHALO,1468,MaricopaCountyAnimalCareandControlMCACC,4250,BuckeyeAnimalRescueKennel,5112,MASH,5957,FeathersFoundationInc,6725,ValleyHumaneSociety,7172,KitKatRescue,7627,LuckyDogRscu,7761,AZSmallDog,8114,WhoSavedWhoRescue,9160,DestinationHome,9248 ,AllAboutAnimals

澄清:当它创建文件时,它包含所有数据,但所有逗号都被删除,所以它只是所有1个长行。

python python-3.x
2个回答
1
投票

由于每个item都是表示CSV中一行的值列表,因此您应该将其写为带有csv.writer的CSV:

for item in csvList:
    os.mkdir(r"C:\Users\user\Desktop\Test Path\\" + item[0])
    with open(r"C:\Users\user\Desktop\Test Path\\" + item[0] + r"\prm.263","w+") as f:
        csv.writer(f).writerow(item[1:])

1
投票

我想你只需要加载文件并逐行读取(不将其作为csv文件加载)。每行都转到一个文件。

index = 0
with open('testcsv.csv', 'r') as f:
    for line in f.readlines():
        index += 1
        with open('new_textfile_{}.csv'.format(index), 'w') as f2:
            f2.write(line)

如果你想将文件保存在某个目录X中,那么第二个with open...中的路径应该是"X/whatever_name_{}.csv".format(index)

© www.soinside.com 2019 - 2024. All rights reserved.