python处理csv文件
26 November 2013
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库还有很多用法,在此不再累述,相关请查看该文档。
blog comments powered by Disqus