将CSV拆分为文件

时间:2019-02-06 20:57:40

标签: python python-3.x

我正在寻找有关我要做什么的指导。

我有一个.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,Lucky Paws,3156,StMartinsDogRescue,4051,SalemFriends of Felines,4088,HeartlandHumaneSociety,4118,Forloveofacat,6329,PeacefulPack,7710,OneVoice4Paws,RecueDore,Recue4Res,9Res,7981,Keitha,ResofecatofRecat,7981 ,LovesAgainPets   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个长行。

2 个答案:

答案 0 :(得分: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)

答案 1 :(得分: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:])