簡體   English   中英

寫入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()代替“打印”(詳細信息: https ://docs.python.org/3.5/library/csv.html)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM