一、csv文件的定义
csv是一种用逗号将一行数据隔开的文本文件,这种文件可以用表格来打开,多用于数据接处理中数据的提供和保存。
二、python中对csv文件写操作
python的标准库中有一个csv库,专门用来提供和csv文件的相关操作
import csv
"""
with open(file, mode='r', encoding='utf-8', newline='') as f:
file:表示文件路径
mode:文件的打开方式
encoding:文本文件的编码方式,一般设置为'utf-8'
newline:表示格式,一般设置为空
writer(写对象) = csv.writer(csv文件对象)
#写入一条数据
writer.writerow(元素是一行为列表的内容)
#写入多条数据
writer.writerows(元素是列表的列表)
"""
with open('files/学生信息.csv', 'w', encoding='utf-8', newline='') as f:
writer = csv.writer(f)
writer.writerow(['姓名', '成绩', '年龄'])
writer.writerows([
['张三', 90, 28],
['李四', 76, 23],
['小明', 100, 18]
])
"""
# 2)csv文件的写操作方式二 -- 以字典的形式写入数据
writer(写对象) = csv.DictWriter(文件对象, 字段名列表)
#单独添加头部数据(将字段名中的列表的元素作为第一行的数据写入文件)
writer.writeheader()
#写入一条数据
writer.writerow(元素是一行为字典的里面的内容)
#写入多条数据
writer.writerows(元素是一个列表里面有多个字典的内容)
"""
with open('files/商品信息.csv', 'w', newline='', encoding='utf-8') as f:
writer = csv.DictWriter(f, ['name', 'price', 'count'])
writer.writerow({'name': '商品名称', 'price': '商品单价', 'count': '商品库存'})
writer.writerow({'name': '鞋子', 'price': 300, 'count': 100})
writer.writerows([
{'name': '衣服', 'price': 85, 'count': 300},
{'name': '帽子', 'price': 34, 'count': 230},
{'name': '包', 'price': 500, 'count': 50}
])
三、python中对csv文件的读操作
import csv
with open('files/商品信息.csv', newline='', encoding='utf-8') as f:
reader = csv.reader(f)
data = list(reader)
print(data)
with open('files/商品信息.csv', newline='', encoding='utf-8') as f:
reader = csv.DictReader(f)
new_reader = list(map(lambda item: dict(item), reader))
print(new_reader)
all_name = list(map(lambda item: item['商品名称'], new_reader))
print(all_name)