我有一个列表: ['1', '2', '3'],想要将它转换为1,2,3,即没有括号或引号。
我有一个列表: ['1', '2', '3'],想要将它转换为1,2,3,即没有括号或引号。
",".join(lst)
会做,但那并不是真正的csv(需要转义等)。
使用Pandas,您可以将几乎任何列表转换为CSV文件,如下所示:
import pandas as pd
list1 = [1,2,3,4,5]
df = pd.DataFrame(list1)
根据您希望使用这个csv的方式,您可以将它保存在一个变量中:
csv_data = df.to_csv(index=False)
或像这样将其保存在您的文件系统中:
df.to_csv('filename.csv', index=False)
在你的csv中,index=False
会移除不必要的索引/编号。
文档中的示例:
>>> import csv
>>> spamWriter = csv.writer(open('eggs.csv', 'wb'), delimiter=' ',
... quotechar='|', quoting=csv.QUOTE_MINIMAL)
>>> spamWriter.writerow(['Spam'] * 5 + ['Baked Beans'])
>>> spamWriter.writerow(['Spam', 'Lovely Spam', 'Wonderful Spam'])
foo.writerow(list)
,其中foo
是您的csv.writer
对象即可。 - asthasrcsvfile = open('test.csv', 'wb')
csvwriter = csv.writer(csvfile)
for item in pct:
csvwriter.writerow(item)
csvfile.close()
import csv
def writeCsvFile(fname, data, *args, **kwargs):
"""
@param fname: string, name of file to write
@param data: list of list of items
Write data to file
"""
mycsv = csv.writer(open(fname, 'wb'), *args, **kwargs)
for row in data:
mycsv.writerow(row)
mydat = (
['Name','Age','Grade'],
['Teri', 14, 7],
['John', 8, 2]
)
writeCsvFile(r'c:\test.csv', mydat)
open
中要使用 'b'
(二进制模式)模式? - Intrastellar Explorer