簡體   English   中英

Pandas 如何將列表保存到 csv

[英]Pandas how to save a list to csv

我在 pandas 中有一個列表,我想將其寫入 csv 文件,其中每個元素都是一個新行。

    list3= ["France","Germany","USA"]
    with open('your_file.csv', 'w') as f:
        f.write(str(list3))

但是 output 是水平的而不是垂直的,如果有人知道如何去掉 output 中的引號,我也會很感激。

Output 與我上面的代碼: 在此處輸入圖像描述

我想要的 Output: 在此處輸入圖像描述

這是一個 Python 列表,看不到pandas

In [26]: list3= ["France","Germany","USA"]                                      

看看str產生了什么:

In [27]: str(list3)                                                             
Out[27]: "['France', 'Germany', 'USA']"

那是一個帶括號和引號的字符串。

你想要的更像是:

In [28]: for word in list3: print(word)                                         
France
Germany
USA

或將其寫入文件:

In [29]: with open('txt', 'w') as f: 
    ...:     for word in list3: 
    ...:         f.write('%s\n'%word) 
    ...:                                                                        
In [30]: cat txt                                                                
France
Germany
USA

或使用print file參數:

In [31]: with open('txt', 'w') as f: 
    ...:     for word in list3: 
    ...:         print(word, file=f) 

或者您可以加入字符串換行符:

In [33]: '\n'.join(list3)                                                       
Out[33]: 'France\nGermany\nUSA'
In [34]: with open('txt', 'w') as f: 
    ...:     print('\n'.join(list3), file=f) 

您可以將列表放在pandas DataFrame中,但是在編寫 csv 時必須關閉列和索引。

numpy也可以使用np.savetxt('txt',list3, fmt='%s')

將這種基本字符串列表寫入文件的方法有很多。 一些基本的,一些使用更強大的作家。

這可以通過 CSV 模塊完成。 每行必須是一個列表,但您可以為 csv 編寫器生成它們,列表中的每個項目一個

import csv
list3= ["France","Germany","USA"]
with open('your_file.csv', 'w') as f:
    csv.writer(f).writerows([row] for row in list3)

Output

France
Germany
USA

您可能根本不需要 CSV 模塊。 這也將寫入列表。 不同之處在於,第一個示例也會轉義內部引號和逗號,如果這是您的數據中的內容。

import csv
list3= ["France","Germany","USA"]
with open('your_file.csv', 'w') as f:
    f.write("\n".join(list3))

暫無
暫無

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

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