withopen('信息.csv',encoding='utf-8')as fp: reader = csv.DictReader(fp) for i in reader: print(i)
联合excel查看
编码格式要改成 gbk,必须是以列表的形式。
读取
1 2 3 4 5 6 7 8 9 10
import csv
withopen('个人信息.csv',encoding='gbk')as csFile: reader = csv.reader(csFile) # 获取标题 header = next(reader) print(header) # 遍历数据 for i in reader: print(i)
多行写入
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16
import csv
withopen('个人信息.csv','a',encoding='gbk') as csFile: writer = csv.writer(csFile) # 多行写入 writer.writerows([['阿福1',17,'男','152'],['阿福2',16,'男','151'],['阿福3',15,'男','159']])
withopen('个人信息.csv',encoding='gbk')as csFile: reader = csv.reader(csFile) # 获取标题 header = next(reader) print(header) # 遍历数据 for i in reader: print(i)
为什么会有空行腻?因为写入的时候没有设置newline,两行之间会空一行。
读取某行、某列
遍历每一行
1 2 3 4 5 6
withopen('个人信息.csv',encoding='gbk')as csFile: reader = csv.reader(csFile) # 遍历每一行,生成列表 rows = [row for row in reader] for row in rows: print(row)
读取指定列
方法1
1 2 3 4 5 6
withopen('个人信息.csv',encoding='gbk')as csFile: reader = csv.reader(csFile) # 遍历每一行,生成列表 rows = [row for row in reader] for row in rows: print(row[0],row[1])
方法2
1 2 3 4 5
withopen('个人信息.csv',encoding='gbk')as csFile: reader = csv.reader(csFile) # 遍历每一行,生成列表 column = [row[0] for row in reader] print(column)
import csv withopen('个人信息.csv','r',encoding='utf-8')as csFile: reader = csv.reader(csFile) data = [raw for raw in reader] # 取出标题 header = data[0] header.append('成绩')
# 取出内容 data = data[1:] # print(data) for i in data: i.append(100)