什么是CSV文件:
CSV是Comma-Separated Values的缩写,是用文本文件形式储存的表格数据,(当用Excel打开文件时)例如下面的表格:
CSV文件内容中,用逗号分割值,可以用Excel打开查看,由于是纯文本,任何编辑器也都可以打开,与Excel文件不同,CSV文件中:
1.值没有类型,所有值都是字符串
2.不能指定字体颜色等样式
3.不能指定单元格的宽高,不能合并单元格
4.没有多个工作表
5.不能嵌入图表
在python中做什么用:
我们常常需要读取和处理csv文件的数据。处理csv数据的一个最有用的方法就是把它转换为一个字典列表。
一、读文件:
CSV模块是python的内置模块,直接调用import csv 就可以对其操作。
import csv
Dict = csv.DictReader(open('CSV.csv','rU'))
print(type(Dict))
print(Dict)
for d in Dict:
print(d)
打印结果:
<class 'csv.DictReader'>
<csv.DictReader object at 0x00000068DF9ABBE0>
OrderedDict([('1', 'a'), ('2', 'b'), ('3', 'c'), ('4', 'd'), ('5', 'e')])
解释:csv.DictReader(open('CSV.csv','rU'))
csv.DictReader() 调用读取方法
open('CSV.csv','rU') 打开一个名为CSV.csv的文件,文件是自己创建的,rU表示读取,‘r’表示以读模式打开文件。‘U’表明我们将会接受通用换行符–‘n’,‘r’和‘rn’
改造代码:(由2行变成3行)
import csv
Dict = csv.DictReader(open('CSV.csv','rU'))
print(type(Dict))
print(Dict)
for d in Dict:
for e in d.values(): #注意此处为d.values,因为遍历Dict后得到的是一个字典
print(e)
打印结果:
<class 'csv.DictReader'>
<csv.DictReader object at 0x000000D7691EBC18>
a b c d e aaa bbb ccc ddd eee
看看如果直接用d会打印什么?
import csv
Dict = csv.DictReader(open('CSV.csv','rU'))
print(type(Dict))
print(Dict)
for d in Dict:
for e in d:
print(e,end=' ')
<class 'csv.DictReader'>
<csv.DictReader object at 0x000000C94089BC18>
1 2 3 4 5 1 2 3 4 5
全是key值(效果就如下:)
import csv
Dict = csv.DictReader(open('CSV.csv','rU'))
print(type(Dict))
print(Dict)
for d in Dict:
for e in d.keys():
print(e,end=' ')
DictReader类将会自动地使用csv文件的第一行作为字典的key属性名。DictReader类返回一个将会遍历csv文件所有行的对象。这个文件对象通过open()函数产生。