在一列中将列表导出为 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)
我想在单列中将列表导出到 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)