频道栏目
首页 > 程序开发 > Web开发 > Python > 正文
使用Python读取和写入CSV文件
2013-03-10 23:03:35           
收藏   我要投稿
python中本身就自带csv模块,参考在线手册:http://docs.python.org/2/library/csv.html

 

1.用python读取csv文件:

csv是逗号分隔符格式 一般我们用的execl生成的格式是xls和xlsx  直接重命名为csv的话会报错:

Error: line contains NULL byte

insun解决方案:出错原因是直接是把后缀为xls的execl文件重命名为csv的 正常的要是另存为csv文件 就不会报错了

 

譬如我们有这么个csv文件:

 

使用Python读取和写入CSV文件 - InSun - Minghacker is Insun


 


 


 #!/usr/bin/env python

# -*- coding:utf-8 -*-


import csv

with open('egg.csv','rb') as f:
reader = csv.reader(f)
for row in reader:
print row

 


打印出来是这样的list

['a', '1', '1', '1']

['a', '2', '2', '2']

['b', '3', '3', '3']

['b', '4', '4', '4']

['b', '5', '5', '5']

['b', '6', '6', '6']

['c', '7', '7', '7']

['c', '8', '8', '8']

['c', '9', '9', '9']

['c', '10', '10', '10']

['d', '11', '11', '11']

['e', '12', '12', '12']

['e', '13', '13', '13']

['e', '14', '14', '14']

 

2.用python写入并生成csv

 


 


 


#!/usr/bin/env python
# -*- coding:utf-8 -*-

 

import csv

with open('egg2.csv', 'wb') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=' ',
quotechar='|', quoting=csv.QUOTE_MINIMAL)
spamwriter.writerow(['a', '1', '1', '2', '2'])
spamwriter.writerow(['b', '3', '3', '6', '4'])
spamwriter.writerow(['c', '7', '7', '10', '4'])
spamwriter.writerow(['d', '11','11','11', '1'])
spamwriter.writerow(['e', '12','12','14', '3'])

 


使用Python读取和写入CSV文件 - InSun - Minghacker is Insun

这样存进去的是存到一列了 跟我们原本意图存进5列不一样

 

使用python的csv生成excel所兼容的csv文件的话,主要就是创建writer时的参数时要有dialect=’excel’


 


 

#!/usr/bin/env python

# -*- coding:utf-8 -*-

 

import csv

with open('egg2.csv', 'wb') as csvfile:
spamwriter = csv.writer(csvfile,dialect='excel')
spamwriter.writerow(['a', '1', '1', '2', '2'])
spamwriter.writerow(['b', '3', '3', '6', '4'])
spamwriter.writerow(['c', '7', '7', '10', '4'])
spamwriter.writerow(['d', '11','11','11', '1'])
spamwriter.writerow(['e', '12','12','14', '3'])

 


 

使用Python读取和写入CSV文件 - InSun - Minghacker is Insun

这回符合我们要求了。

3.实战:

http://zhidao.baidu.com/question/529653801.html?push=1&group=1

 

想用python处理一下csv格式的数据

想统计a的第一例的最小的数,第二列最小值,第三列最大值,且a有几个

同样得到b,c,d,e等

由 图1 得到 图2(最后一列为啊,a,b,c,d,e的个数)

使用Python读取和写入CSV文件 - InSun - Minghacker is Insun

使用Python读取和写入CSV文件 - InSun - Minghacker is Insun


点击复制链接 与好友分享!回本站首页
相关TAG标签 文件
上一篇:Python抓取电影来了(dianying.fm)
下一篇:python学习:web服务器日志分析简单脚本
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站