open() 函数用于打开一个文件,创建一个file对象,利用file对象进行读写文件
open(name[, mode[, buffering]])
name:文件名
mode:打开文件的模式
模式 | 描述 |
---|---|
t | 文本文件(默认) |
w | 打开文件写入,文件已经存在,则覆盖数据 |
a | 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后,如果该文件不存在,创建新文件进行写入。 |
r | 打开文件读取 |
b | 此文件为二进制文件 |
1.创建数据和表头
2.创建writer对象
3.写表头
4.遍历列表,将每一行数据写入csv
import csv
# 创建数据
persons = [('XZ', 31, 183.6), ('WYB', 25, 180), ('BXG', 21, 156)]
# 创建表头
header = ['name', 'age', 'height']
with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj:
# newline='':为了防止每写一行数据会换行
# 创建writer对象
writer = csv.writer(file_obj)
# 写表头
writer.writerow(header)
# 遍历列表,将每一行的数据写入csv
for i in persons:
writer.writerow(i)
1.创建数据和表头
2.创建writer对象
3.写表头
4.writer.writerows(data),data:要处理的数据
import csv
# 创建数据
persons = [('XZ', 31, 183.6), ('WYB', 25, 180), ('BXG', 21, 156)]
# 创建表头
header = ['name', 'age', 'height']
with open('person.csv', 'w', encoding='utf-8', newline='') as file_obj:
# 创建writer对象
writer = csv.writer(file_obj)
# 写表头
writer.writerow(header)
# 一次写入多行
writer.writerows(persons)
import csv
with open('person.csv', 'r', encoding='utf-8') as f:
# 1.创建reader对象
reader = csv.reader(f)
# print(reader) # 直接打印会返回csv.reader对象:<_csv.reader object at 0x000001DFDBB120A0>
for i in reader:
print(i)
`