什么是CSV文件?
CSV(Comma-Separated Values,逗号分隔值。有时也称为字符分隔值,因为分隔字符也可以不是逗号)其文件以纯文本形式存储表格数据(数字和文本)。
注意:csv文件一定不是用xls或xlsx改个后缀名而来的
username,password,result
zhangsan,zs123456,张三
lisi,ls123456,李四
wangwu,ww123456,王五
Python操作CSV
使用python自带的csv库来操作csv文件
读文件
import csv
print("______________以列表的形式读取_______________")
with open('case04.csv', 'r', encoding='utf-8') as f:
# 通过csv.reader()获得一个迭代器
reader = csv.reader(f)
# 跳过表头
next(reader)
for item in reader:
print(item)
print("______________以字典的形式读取_______________")
with open('case04.csv', 'r', encoding='utf-8') as f:
reader = csv.DictReader(f)
for item in reader:
print(item)
代码执行:
______________以列表的形式读取_______________
['zhangsan', 'zs123456', '张三']
['lisi', 'ls123456', '李四']
['wangwu', 'ww123456', '王五']
______________以字典的形式读取_______________
{'username': 'zhangsan', ' password': 'zs123456', ' result': '张三'}
{'username': 'lisi', ' password': 'ls123456', ' result': '李四'}
{'username': 'wangwu', ' password': 'ww123456', ' result': '王五'}
写文件
使用Writer函数
import csv
data = [
('username', 'password', 'result'),
('zhangsan', 'zs123456', '张三'),
('lisi', 'ls123456', '李四'),
('wangwu', 'ww123456', '王五'),
]
with open('case05.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerows(data)
使用DictWriter函数
import csv
data = [
{'username': 'zhangsan', 'password': 'zs123456', 'result': '张三'},
{'username': 'lisi', 'password': 'ls123456', 'result': '李四'},
{'username': 'wangwu', 'password': 'ww123456', 'result': '王五'},
]
with open('case06.csv', 'w', newline='') as f:
fieldnames = ['username', 'password', 'result']
writer = csv.DictWriter(f, fieldnames=fieldnames)
# 将fieldnames写入csv的首行
writer.writeheader()
# data数据写入csv
writer.writerows(data)