CSV 文件操作

CSV 文件

  • CSV 简介:
    • CSV 文件通常用于我们在电子表格软件和纯文本之间交互数据,CSV 文件内容是一些用逗号分隔的原始字符串。
    • CSV 文件的操作在 Python 中有单独的模块来使用,模块名为 csv

CSV 文本操作

  • 导入模块:import csv
  • 打开文件对象:fp = open(‘1.csv’, ‘a+’)
  • 返回专门用做 csv 处理的读,或写对象:fp = csv.writer(fp);fp = csv.reader(fp)

CSV 写文件

csv 提供了一个写函数:writerow() 方法,为文件写入以逗号分割的数据
逗号分割的数据:常见的有list,tuple,set

1. writer = csv.writer(fp)
2. writer.writerow(('a','b','c','d'))

注意:在写 csv 文件的时候,可能会出现一行数据一个空行
可以通过在打开文件时指定: newline=’’ 或以二进制打开: open(‘data.csv’,’wb’)

open(‘data.csv’,’w’,newline=’’)
csvfile = open(‘data.csv’,’wb’)


CSV 读文件

reader = csv.reader(fp) #生成对应文件的csv读对象
for var1,var2,var3… in reader:
    print(var1,var2,var3…)

我已经写出了套路,如果你自己不动手,只能看到这些!!!


字典形式读写文件

除了以上读写 csv 文件的方式,csv 模块还提供了 csv.DictReader() 和 csv.DictWriter()
用于将字典形式的数据写入 csv 文件,以及从 csv 文件读取出的数据保存在字典中

import csv

#csv.DictWriter
with open('names.csv', 'w') as csvfile:
    fieldnames = ['first_name', 'last_name']#指定标题列
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    writer.writeheader()
    writer.writerow({'first_name': 'Baked', 'last_name': 'Beans'})
    writer.writerow({'first_name': 'Lovely', 'last_name': 'Spam'})
    writer.writerow({'first_name': 'Wonderful', 'last_name': 'Spam'})

#csv.DictReader
with open('names.csv') as csvfile:
	reader = csv.DictReader(csvfile)
	for row in reader:
		print(row['first_name'], row['last_name'])#根据标题列定义的数据取行内容