Python中如何将列表保存为Excel可打开的CSV文件
lst = [{"a": 1, "b": 1}, {"a": 2, "b": 2},{"a": 3, "b": 3},{"a": 3, "b": 3}] 比如这样
Python中如何将列表保存为Excel可打开的CSV文件
5 回复
用Python把列表存成CSV文件很简单,用内置的csv模块就行。下面给你个例子,假设你有个二维列表(也就是列表里套列表,每个子列表是一行数据):
import csv
# 假设这是你的数据,一个二维列表
data = [
["姓名", "年龄", "城市"],
["张三", 25, "北京"],
["李四", 30, "上海"],
["王五", 28, "广州"]
]
# 写入CSV文件
with open('output.csv', 'w', newline='', encoding='utf-8-sig') as f:
writer = csv.writer(f)
writer.writerows(data)
print("文件已保存为 output.csv")
关键点:
newline=''参数是为了避免在Windows上出现空行encoding='utf-8-sig'让Excel能正确识别中文编码writer.writerows(data)一次性写入所有行
如果你用的是pandas,更简单:
import pandas as pd
data = [["张三", 25], ["李四", 30]]
df = pd.DataFrame(data, columns=["姓名", "年龄"])
df.to_csv('output.csv', index=False, encoding='utf-8-sig')
用csv模块足够处理大多数情况。
英文逗号分隔,中文要编码成 gbk
>>> import csv
>>> f = open(‘d:/tmp/test.csv’, ‘w’, encoding=‘gbk’)
>>> writer = csv.DictWriter(f, fieldnames=[‘a’,‘b’])
>>> for dic in [{“a”: 1, “b”: 1}, {“a”: 2, “b”: 2},{“a”: 3, “b”: 3},{“a”: 3, “b”: 3}]: writer.writerow(dic)
5
5
5
5
>>> f.close()
>>>
import pandas as pd
from pandas import DataFrame
lst = DataFrame([{“a”: 1, “b”: 1}, {“a”: 2, “b”: 2},{“a”: 3, “b”: 3},{“a”: 3, “b”: 3}])
lst.to_csv(‘test.csv’)

