我正在寻找有关我要做什么的指导。
我有一个.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个长行。
答案 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:])