目录
1、简介
存储表格数据
2、写入
(1) 写入列表
导入csv库,打开文件。使用csv.writer()初始化对象,使用writerow方法进行一行行写入。也可以使用writerows方法进行多行写入,参数为二维列表。结果相同。
import csv
list_header = ['id', 'name', 'age']
list1 = ['1000', 'john', '20']
list2 = ['1001', 'Linda', '24']
list3 = ['1002', 'Mike', '30']
with open('data.csv', 'w', encoding='utf-8') as csvfile:
writer = csv.writer(csvfile)
# writer.writerow(list_header)
# writer.writerow(list1)
# writer.writerow(list2)
# writer.writerow(list3)
list_data = [list_header, list1, list2, list3]
writer.writerows(list_data)
csvfile.close()
打开表格:
在pycharm中打开:
可以看到中间以逗号隔开,想要改变分隔符,在csv.writer()中设置参数delimiter='',双引号中为分隔符。
(2) 写入字典
首先打开文件,声明表格头,用csv.DictWriter()将文件对象和表格头当参数初始化对象。再使用writeheader()方法写入表格头,便于与之后的字典内容呼应。最后直接按行写入即可
import csv
dict1 = {'id': 1000, 'name': 'john', 'age': 20}
dict2 = {'id': 1001, 'name': 'Linda', 'age': 25}
dict3 = {'id': 1002, 'name': 'Mike', 'age': 30}
with open('data.csv', 'w', encoding='utf-8') as csvfile:
fieldnames = ['id', 'name', 'age']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
writer.writerow(dict1)
writer.writerow(dict2)
writer.writerow(dict3)
csvfile.close()
若要追加内容,直接将open()中 'w' 改为 'a',再按行写入即可。
3、读取
import csv
with open('data.csv', 'r', encoding='utf-8') as csvfile:
reader = csv.reader(csvfile)
for row in reader:
print(row)
4、使用pandas读写csv数据
import pandas as pd
data_dict_list = [
{'id': 1000, 'name': 'john', 'age': 20},
{'id': 1001, 'name': 'Linda', 'age': 25},
{'id': 1002, 'name': 'Mike', 'age': 30}
]
# 写入
df = pd.DataFrame(data_dict_list) # 创建一个DataFrame对象,参数应为列表,否则报错
df.to_csv('data1.csv', index=False) # 直接创建data1.csv,并写入
# 读出
df = pd.read_csv('data1.csv')
data = df.values.tolist()
print(data)
用pycharm打开data1.csv文件:
本人新手,若有错误,欢迎指正;若有疑问,欢迎讨论。若文章对你有用,点个小赞鼓励一下,谢谢,一起加油吧!