写入csv中的特定行,Python 3

时间:2017-06-27 12:56:46

标签: python csv export-to-csv

我目前的列表结构如下: 的 X = [ 'A,B,C,d', 'E,F,G,H'] 我希望将每个元素(在''之间)写入单独的行,并将每个逗号分隔的值放在该行中的相应单元格内。

目前我的代码将列表'x'的全部内容添加到顶行,我不知道如何修复它。

2 个答案:

答案 0 :(得分:0)

使用生成器理解(根据逗号将列表的每个文本拆分)作为csv.writerows的参数,如下所示:

import csv

x=['a,b,c,d','e,f,g,h']

with open("output.csv","w",newline="") as f:
    cw = csv.writer(f)
    cw.writerows(l.split(",") for l in x)

答案 1 :(得分:0)

简短 - 诚实而言不是最美丽的代码:

x=['a,b,c,d','e,f,g,h']
for ROWS in x:
    print("Handling row", ROWS)
    ROWS = str(ROWS)
    ROW_NEW = []
    if ROWS.count(",") > 0:
        for COLS in ROWS.split(","):
            ROW_NEW.append(COLS)
    print("Resulting row: " + str(ROW_NEW))

您可以使用csv模块中的writerow()代替“print”(详情请参阅:https://docs.python.org/3.5/library/csv.html