簡體   English   中英

在 Python 中寫入 CSV 時出現問題

[英]Issue with writing CSV in Python

我正在閱讀和 XLSX 文件。 並循環遍歷行和列以消除 excel 中的所有雜波。

    with open("../Converted/test.csv", "w") as f:
        writer = csv.writer(f)
        writer.writerow(header) # write the header        
               
        for i in range(10, max_row + 1):
            full_data_row = ""
            for j in range(1, max_col + 1):
                cell_obj = sheet_obj.cell(row = i, column = j)
                if cell_obj.value is not None:
                    full_data_row += str(cell_obj.value) + ','

            full_data_row = full_data_row[:-1]
            writer.writerow(full_data_row)

當我打印 full_data_row 時,它會打印字符串,所以這是正確的。 當我檢查我的 csv 文件時。 我得到這個作為輸出:

header1,header2,header3 O,p,z,e,t,,h,o,s,t,e,d,

csvwriter.writerow()需要一個可迭代的(例如列表),並將為您處理格式(在值之間放置逗號)。 因此,它將您的字符串解析為(字符)列表,在每個字符之間打印逗號。

另一種方法可能是:

for i in range(10, max_row + 1):
    full_data_row = []
    for j in range(1, max_col + 1):
        cell_obj = sheet_obj.cell(row = i, column = j)
        if cell_obj.value is not None:
            full_data_row.append(str(cell_obj.value))

    writer.writerow(full_data_row)

暫無
暫無

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

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