我有以下代码,它从目录中读取文件夹列表,并将它们转储到csv文件中。
import os, csv
mylist = os.listdir("M:/")
with open("output.csv", 'w') as myfile:
wr = csv.writer(myfile, lineterminator='\n')
wr.writerows(([row] for row in mylist))
哪个效果很好。目录中的文件夹都使用以下格式命名:
abc_123456
我想要获得的输出是:
abc, 123456
def, 789012
等
我知道我需要使用split()但是我无法解决它需要去的地方
答案 0 :(得分:3)
假设row = "abc_123456"
,您需要将其拆分为"_"
[row]
正在列出一个您正在写为行的字符串。
row.split("_")
是您分割数据的方式。这已经返回一个列表,因此不需要[row.split("_")]
,例如
如果您希望将", "
作为分隔符,而不是仅逗号,则需要将其添加到编写器。
wr = csv.writer(myfile, delimiter=', ', lineterminator='\n')
wr.writerows(row.split('_') for row in mylist)
答案 1 :(得分:2)
正如@OzgurVatansever在评论中所述,你可以简单地分开"_"
:
import os, csv
mylist = os.listdir("M:/")
with open("output.csv", 'w') as myfile:
wr = csv.writer(myfile, lineterminator='\n')
wr.writerows(row.split("_") for row in mylist)
希望有所帮助。谢谢@OzgurVatansever。