我目前的列表结构如下: 的 X = [ 'A,B,C,d', 'E,F,G,H'] 我希望将每个元素(在''之间)写入单独的行,并将每个逗号分隔的值放在该行中的相应单元格内。
目前我的代码将列表'x'的全部内容添加到顶行,我不知道如何修复它。
答案 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)