在一列中将列表导出为 CSV

Exporting list to CSV in one column

我想在单列中将列表导出到 csv,每个条目都开始一个新行。

我的清单是这样的:

['Jimmy French', 'Casey Fryer', 'Jane Pickens', 'Tommy L. Garcetti', 'Nada Lewis']

在另一个堆栈溢出问题之后,我的代码如下:

with open("export_5.csv","w") as f:
    w = csv.writer(f, lineterminator=',')
    w.writerow(phone_names_value_list)

输出为:

Jimmy French,Casey Fryer,Jane Pickens,Tommy L. Garcetti,Nada Lewis,

这是因为我在记事本中查看吗?有什么我应该更改以使其打印在一栏中吗?

**另外,我该如何删除逗号?

你可以这样写:

with open("export_5.csv","w") as f:
    w = csv.writer(f, lineterminator='\n')
    for item in phone_names_value_list:
        w.writerow([item])

或者使用 pandas 你可以这样做:

import pandas as pd
a=['Jimmy French', 'Casey Fryer', 'Jane Pickens', 'Tommy L. Garcetti', 'Nada Lewis']
df=pd.DataFrame(a)
df.to_csv('output_file.csv', index=False,header=None)

单列 csv 是一种纯文本文件,每行一个字段。只需打印即可。

可能的代码:

with open("export_5.csv","w") as f:
    for field in phone_names_value_list:
        print(field, file=f)

上面代码中唯一的问题是,没有任何东西可以保证这些行将以 \r\n 结束,因为正确的 csv 文件应该如此。如果重要,您将必须以二进制模式明确地编写它们:

with open("export_5.csv","bw") as f:
    for field in phone_names_value_list:
        print(field.encode() + b'\r\n', file=f)