csv文件存储是我之前没有接触到过的,今天学习总结了一下csv文件读写的方法。
# csv 一种以逗号分割的简单语法的存储结构,远比数据库简单,甚至比Excel表更简单。
# 场景:备份数据,适合非电脑专业人士看
# 环境:python3
"""
特点:
1. 值没有类型,所有值都是字符串
2. 不能指定字体样式
3. 不能指定单元格的宽高,不能合并单元格
4. 没有多个表,不能嵌入图表
"""
import csv
# 写数据到csv文件中
def write():
data = [
['name', 'age'],
['小红', 15],
['李华', 26],
['刘梅', 32]
]
# 打开文件,写入数据到里面
with open('example.csv', 'w+', newline='', encoding='utf-8') as f:
writer = csv.writer(f)
for row in data:
# 一条一条写入
writer.writerow(row)
# 全部一下写入
writer.writerows(data)
def read():
# 从csv文件中读取数据
with open('example.csv', encoding='utf-8') as f:
reader = csv.reader(f)
# <_csv.reader object at 0x000002258F417CE0>
# print(reader)
# [['name', 'age'], ['小红', '15'], ['李华', '26'], ['刘梅', '32']]
print(list(reader))
# 直接打印从文件中读出的data是个对象内存地址,必须转成列表,才能取到数据
def dict_read():
# 使用DictReader,像操作字典一样取出数据
with open('example.csv', encoding='utf-8') as f:
reader = csv.DictReader(f)
for row in reader:
max_temp = row['name']
print(max_temp)
# 使用DictWriter类,写入字典形式的数据
def dict_write():
headers = ['name', 'age']
datas = [
{'name': '莉莉', 'age': 4},
{'name': '赵四', 'age': 45},
{'name': '张鑫鑫', 'age': 20}
]
with open('example.csv', 'a', encoding='utf-8', newline='') as f:
writer = csv.DictWriter(f, headers)
writer.writeheader()
for row in datas:
writer.writerow(row)
# 同时写入多行
writer.writerows(datas)
if __name__ == '__main__':
write()
read()
dict_read()
dict_write()
注:github账号链接:https://github.com/qiaoqiao520 ,大家可前来学习交流。