如何将列表中的每个条目拆分()到新的csv列中

时间:2017-11-03 15:43:17

标签: python list split

我有以下代码,它从目录中读取文件夹列表,并将它们转储到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()但是我无法解决它需要去的地方

2 个答案:

答案 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。