写入 csv 中的特定行,Python 3
Writing to a specific row in a csv, Python 3
我目前有一个结构如下的列表:
x=['a,b,c,d','e,f,g,h']
我希望将每个元素(在“”之间)写入单独的行,并将每个逗号分隔值放置在该行内的相应单元格中。
目前我的代码将列表 'x' 的全部内容添加到顶行,但我不知道如何修复它。
使用生成器理解(根据逗号分隔列表中的每个文本)作为 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)
一段简短的 - 老实说可能不是最漂亮的 - 一段代码:
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)
我目前有一个结构如下的列表: x=['a,b,c,d','e,f,g,h'] 我希望将每个元素(在“”之间)写入单独的行,并将每个逗号分隔值放置在该行内的相应单元格中。
目前我的代码将列表 'x' 的全部内容添加到顶行,但我不知道如何修复它。
使用生成器理解(根据逗号分隔列表中的每个文本)作为 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)
一段简短的 - 老实说可能不是最漂亮的 - 一段代码:
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)