用Python处理csv文件

来源:互联网 发布:mysql查看数据库表 编辑:程序博客网 时间:2024/05/16 11:34

python 强大功能之一在于其丰富的库,比如这个处理 csv 文件的库,实在有够强大。什么是 csv 文件?根据百度百科的解释:

CSV 是(逗号分隔值)的英文缩写,通常都是纯文本文件。建议使用 WORDPAD 或是记事本(NOTE)来开启,再则先另存新档后用 EXCEL 开启,也是方法之一。

一直以为 csv 是某种 Excel 文件,原来是一种纯文本文件,尝试用记事本打开一个 csv 文件:

果然,在记事本中是以逗号为分隔符,而 excel 中显示的是三列数据。当然我们自己写个读取的程序是可以的,但 python 提供了一个读写 csv 文件更强大的库——csv。例如上面这个例子:

import csvwith 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 csvwith 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 库还有很多用法,在此不再累述,相关请查看该文档。

原创粉丝点击