Python读写CSV文件

open()

open() 函数用于打开一个文件,创建一个file对象,利用file对象进行读写文件
open(name[, mode[, buffering]])
name:文件名
mode:打开文件的模式

模式 描述
t 文本文件(默认)
w 打开文件写入,文件已经存在,则覆盖数据
a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后,如果该文件不存在,创建新文件进行写入。
r 打开文件读取
b 此文件为二进制文件

将数据写到csv文件

1.通过创建writer对象写入(一次写入一行)

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)

2.通过创建writer对象写入(一次写入多行)

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)

读取csv文件

1.使用reader()读取文件

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)
`
物联沃分享整理
物联沃-IOTWORD物联网 » Python读写CSV文件

发表评论