簡體   English   中英

Python將列表項寫入csv

[英]Python write list items to csv

我有這段代碼,它想將我的列表項導出到一個csv文件中,其中文件中的每一行都包含列表中的一項。

writer = csv.writer(open(path+"output.csv", 'wb'))
for item in result:
     writer.writerow(item)

我得到的結果非常奇怪(例如列表中的前兩個項目:“到期”和“代碼”):

p,a,s,t, ,d,u,e
c,o,d,e

我想要得到的結果很簡單:

    past due
    code

有任何想法嗎 ?

csvwriter.writerow(row)

這會將行參數寫入編寫者的文件對象,並根據當前方言格式化。

有關更多信息,請參見csvwriter

這里已經有解決方案: 用Python將字符串列表寫入Excel CSV文件

您無需遍歷列表中的每個元素。 嘗試這個:

writer = csv.writer(open(path+"output.csv", 'wb'))
writer.writerow(result)

writerow方法接受單個參數,並以逗號分隔形式表示組成其參數的元素。

通常使用的參數是列表,元組等。顯然您使用了字符串,因此寫入的是字符串元素的順序

如果要迭代的所有元素都是字符串,則可以解決問題

for item in result:
    writer.writerow([item])

但是編寫僅包含一列的csv文件是不尋常的,並且可能您可能想編寫一個簡單的文本文件...如果result中的所有元素都是字符串,那么以下代碼

with of as open('result.txt')
    of.write("\n".join(result))

會做的工作。

我認為問題出在這里:

for item in result:
     writer.writerow(item)

result變量實際上是一個字符串,這就是為什么要在每個字符后添加逗號的原因。 result不是您的代碼所建議的字符串數組-實際上是一個字符串(字符數組)。

with open('returns.csv', 'wb') as f:
    writer = csv.writer(f)
    for val in daily_returns:
        writer.writerow([val])

暫無
暫無

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

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