[英]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()代替“打印”(詳細信息: https ://docs.python.org/3.5/library/csv.html)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.