python 强大功能之一在于其丰富的库,比如这个处理 csv 文件的库,实在有够强大。什么是 csv 文件?根据百度百科的解释:
CSV 是(逗号分隔值)的英文缩写,通常都是纯文本文件。建议使用 WORDPAD 或是记事本(NOTE)来开启,再则先另存新档后用 EXCEL 开启,也是方法之一。
一直以为 csv 是某种 Excel 文件,原来是一种纯文本文件,尝试用记事本打开一个 csv 文件:
果然,在记事本中是以逗号为分隔符,而 excel 中显示的是三列数据。当然我们自己写个读取的程序是可以的,但 python 提供了一个读写 csv 文件更强大的库——csv。例如上面这个例子:
import csv
with open( './data.csv', 'rb') as f:
reader = csv.reader(f)
for row in reader:
print row
f.close()
输出为:
['name', 'address', 'age']
file 函数打开 csv 文件,选项中的’b’指打开的是文件。我们尝试往 csv 文件写内容:
import csv
with open( './data.csv', 'wb') as f:
writer = csv.writer(f)
writer.writerow(['name', 'address', 'age'])
data = [
( 'xiaoming ','china','10'),
( 'Lily', 'USA', '12')]
writer.writerows(data)
f.close()
看看结果:
writerow 写入一行内容,而 writerows 写入多行数据。我们修改一下代码,将:
writer = csv.writer(f)
修改为:
writer = csv.writer(f, delimiter=';')
输出为:
其实也可以是空格,这是 writer 的一些参数。事实证明,csv 文件需要逗号分隔才会在 Excel 中显示为列。csv 库还有很多用法,在此不再累述,相关请查看该文档。