簡體   English   中英

csv.writer 橫向輸出

[英]csv.writer exports horizontally

我有一個充滿值的列表。 我想將列表導出到 a.csv 文件。 我希望這些值彼此重疊,但現在它們彼此相鄰導出。

例如,我希望它像:

1
2
3

不是
1 2 3

如何更改我的代碼?

with open('C:(...)file.csv', "w", newline='\n') as csfile:
    wr = csv.writer(csfile, delimiter =';')
    wr.writerow([item[0] for item in sntlst])

接收我的列表中的item[0]很重要。

delimiter參數更改為'\n'

with open('C:(...)file.csv', "w", newline='\n') as csfile:
    wr = csv.writer(csfile, delimiter='\n')
    wr.writerow([item[0] for item in sntlst])

newline='\n'甚至沒有必要,所以你可以不用它:

with open('C:(...)file.csv', "w") as csfile:
    wr = csv.writer(csfile, delimiter='\n')
    wr.writerow([item[0] for item in sntlst])

您接受的答案(@Ann Zen)可能有效,但這是由於僥幸,因為從技術上講,它濫用了關於csv.writer的打開文件的文檔中顯示的示例的delimiter關鍵字參數的使用 - 並且因為其中它現在可能在所有平台上都能正常工作。

所以,也就是說,在我看來,下面顯示的代碼將是一種正確且更好的做事方式。 它使列表中的每個項目成為正在創建的 CSV 文件中的一個項目的“行”。

import csv

sntlst = [1, 2, 3]
output_file_path = 'list_file.csv'

with open(output_file_path, "w", newline='') as csvfile:
    wr = csv.writer(csvfile)
    wr.writerows([item] for item in sntlst)

暫無
暫無

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

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