怎么用python怎么读取文件3.5.1读取CSV文件

新手园地& & & 硬件问题Linux系统管理Linux网络问题Linux环境编程Linux桌面系统国产LinuxBSD& & & BSD文档中心AIX& & & 新手入门& & & AIX文档中心& & & 资源下载& & & Power高级应用& & & IBM存储AS400Solaris& & & Solaris文档中心HP-UX& & & HP文档中心SCO UNIX& & & SCO文档中心互操作专区IRIXTru64 UNIXMac OS X门户网站运维集群和高可用服务器应用监控和防护虚拟化技术架构设计行业应用和管理服务器及硬件技术& & & 服务器资源下载云计算& & & 云计算文档中心& & & 云计算业界& & & 云计算资源下载存储备份& & & 存储文档中心& & & 存储业界& & & 存储资源下载& & & Symantec技术交流区安全技术网络技术& & & 网络技术文档中心C/C++& & & GUI编程& & & Functional编程内核源码& & & 内核问题移动开发& & & 移动开发技术资料ShellPerlJava& & & Java文档中心PHP& & & php文档中心Python& & & Python文档中心RubyCPU与编译器嵌入式开发驱动开发Web开发VoIP开发技术MySQL& & & MySQL文档中心SybaseOraclePostgreSQLDB2Informix数据仓库与数据挖掘NoSQL技术IT业界新闻与评论IT职业生涯& & & 猎头招聘IT图书与评论& & & CU技术图书大系& & & Linux书友会二手交易下载共享Linux文档专区IT培训与认证& & & 培训交流& & & 认证培训清茶斋投资理财运动地带快乐数码摄影& & & 摄影器材& & & 摄影比赛专区IT爱车族旅游天下站务交流版主会议室博客SNS站务交流区CU活动专区& & & Power活动专区& & & 拍卖交流区频道交流区
稍有积蓄, 积分 244, 距离下一级还需 256 积分
论坛徽章:2
如何实现读写csv文件的某一行数据,另外如何统计csv文件中有多少行和多少列
&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp&&nbsp|&&nbsp
小富即安, 积分 3309, 距离下一级还需 1691 积分
论坛徽章:13
fileio搞起啊,结合&str& in line 就好了
小富即安, 积分 2292, 距离下一级还需 2708 积分
论坛徽章:12
&&是这位大神的菜~
富足长乐, 积分 6085, 距离下一级还需 1915 积分
论坛徽章:51
reb00t 发表于
@reyleon&&是这位大神的菜~
稍有积蓄, 积分 244, 距离下一级还需 256 积分
论坛徽章:2
bikong0411
具体解释下呢,这个怎么用
另外不太理解delimiter=’:’, quoting=csv.QUOTE_NONE 这2个参数是干嘛的
腰缠万贯, 积分 8618, 距离下一级还需 1382 积分
论坛徽章:26
学习 学习 这个
list comprehension
书可以很好的解决你的疑问
这就是它的一个很好的价值所在
看看书对你学习Python有很大帮助
搞本学习手册看看吧
小富即安, 积分 4776, 距离下一级还需 224 积分
论坛徽章:4
得到csv文件的行列数:def detect_csv_header(filename):
& & handler = open(filename, &r&)
& & content = handler.readlines()
& & handler.close()
& & return csv.Sniffer().has_header(&&.join(content))
def get_csv_row_col(filename):
& & row = 0
& & has_header = detect_csv_header(filename)
& & datareader = csv.reader(open(filename), dialect='excel')
& & for line in datareader:
& && &&&if datareader.line_num == 1:
& && && && &col = len(line)
& && && && &if not has_header:
& && && && && & row = row + 1
& && &&&else:
& && && && &row = row + 1
& & return row, col复制代码只要修改下get_csv_row_col,就可以读取指定行了。
稍有积蓄, 积分 244, 距离下一级还需 256 积分
论坛徽章:2
如果想要在某一行或者某一列写数据,该如何操作呢
小富即安, 积分 4776, 距离下一级还需 224 积分
论坛徽章:4
那就要一边读原来的文件,一边写到新文件了。
当读到需要修改的地方,把你的内容直接放到新文件里面,然后,继续读原来的文件剩下的部分,写到新文件里面去。
富甲一方, 积分 48553, 距离下一级还需 1447 积分
论坛徽章:32
本帖最后由 yestreenstars 于
18:10 编辑
假设分隔符为制表符,可以参考以下代码:with open('1.txt') as f:
& & lines = f.readlines()
& & field = lines[0].split('\t')
& & print 'row: %d\ncolumn: %d' % (len(field), len(lines))复制代码
信誉积分 +10
很给力!给力!
北京盛拓优讯信息技术有限公司. 版权所有 京ICP备号 北京市公安局海淀分局网监中心备案编号:22
广播电视节目制作经营许可证(京) 字第1234号
中国互联网协会会员&&联系我们:
感谢所有关心和支持过ChinaUnix的朋友们
转载本站内容请注明原作者名及出处sponsored links
使用Python读取和写入CSV文件
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文件:
#!/usr/bin/env python# -*- coding:utf-8 -*-import csvwith open('egg.csv','rb') as f:
reader = csv.reader(f)
for row in reader:
打印出来是这样的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 csvwith 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'])
这样存进去的是存到一列了 跟我们原本意图存进5列不一样
使用python的csv生成excel所兼容的csv文件的话,主要就是创建writer时的参数时要有dialect=’excel’
#!/usr/bin/env python# -*- coding:utf-8 -*-import csvwith 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'])
这回符合我们要求了。
/question/.html?push=1&group=1
想用python处理一下csv格式的数据
想统计a的第一例的最小的数,第二列最小值,第三列最大值,且a有几个
同样得到b,c,d,e等
由 图1 得到 图2(最后一列为啊,a,b,c,d,e的个数)
/question/.html?push=1&group=1
http://docs.python.org/2/library/csv.html
使用Python读取/导出(写入)CSV文件
/python_read_write_csv_file/
/search?q=cache:/smth/subject/python/90604
csv模块“line contains NULL byte”错误解决方案 - [python]
/logs/.html
Python中生成(写入数据到)Excel文件中
/export_data_to_excel_file_in_python/
Python中,添加写入数据到已经存在的Excel的xls文件,即打开excel文件,写入新数据
/python_append_new_data_into_existing_excel_xls_file/
转载于http://yxmhero1989./blog/static//
本篇笔记将上篇笔记的操作做些改进,不再把saz文件中的htm文件解析出来,而是不解压直接读取其中的数据成字符串,基本思路如下: 1.自定义一个从文本文件读取内容到字符串的类:解析saz文件中的htm文档,将文件的内容读取到字符串中 2.自定义利用Jsoup解析htm字符串的类:利用Jsoup解析传入的htm字符串,将解析结果写入csv文件中 3.解析时,指定 ...
这篇文章主要介绍了Python写入CSV文件的方法,涉及Python使用csv模块操作csv文件读写的相关技巧,非常简单实用,需要的朋友可以参考下本文实例讲述了Python写入CSV文件的方法.分享给大家供大家参考.具体如下: # _*_ coding:utf-8 _*_ #xiaohei.python.seo.call.me:) #win+python2. ...
mons.configuration.XMLConfiguration 可以用来读取和写入 xml 文件 这样可以把 xml 读到 PropertyPlaceholderConfigurer 里面 &!-- Composite configuration --& &bean id=&configurat ...
这是我第一次在博客上写东西,简单的为大家分享一个oledb读取文件的功能吧,这两天在做一个文件导入数据库的小demo,就想着导入前先在页面上展示一下,之前调用Microsoft.Office.Interop.*.dll的组件,代码看起来很是冗余,于是乎选择了这种方式,添加引用 using System.Data.OleDb;代码分享给大家,有什么不足或补充, ...
/// &summary& /// 使用OLEDB读取excel和csv文件 /// &/summary& /// &param name=&path&&文件所在目录地址&/param& /// &param name=&name&&文件名&/param ...2012年1月 其他开发语言大版内专家分月排行榜第二2011年5月 其他开发语言大版内专家分月排行榜第二2010年12月 其他开发语言大版内专家分月排行榜第二2009年2月 其他开发语言大版内专家分月排行榜第二2008年9月 其他开发语言大版内专家分月排行榜第二2008年8月 其他开发语言大版内专家分月排行榜第二2008年5月 其他开发语言大版内专家分月排行榜第二2007年11月 其他开发语言大版内专家分月排行榜第二
2011年4月 其他开发语言大版内专家分月排行榜第三2011年1月 其他开发语言大版内专家分月排行榜第三2009年6月 其他开发语言大版内专家分月排行榜第三2009年4月 其他开发语言大版内专家分月排行榜第三2009年1月 其他开发语言大版内专家分月排行榜第三2008年11月 其他开发语言大版内专家分月排行榜第三2008年7月 其他开发语言大版内专家分月排行榜第三2008年6月 其他开发语言大版内专家分月排行榜第三2006年9月 其他开发语言大版内专家分月排行榜第三
2007年11月 PHP大版内专家分月排行榜第二
2012年1月 其他开发语言大版内专家分月排行榜第二2011年5月 其他开发语言大版内专家分月排行榜第二2010年12月 其他开发语言大版内专家分月排行榜第二2009年2月 其他开发语言大版内专家分月排行榜第二2008年9月 其他开发语言大版内专家分月排行榜第二2008年8月 其他开发语言大版内专家分月排行榜第二2008年5月 其他开发语言大版内专家分月排行榜第二2007年11月 其他开发语言大版内专家分月排行榜第二
2011年4月 其他开发语言大版内专家分月排行榜第三2011年1月 其他开发语言大版内专家分月排行榜第三2009年6月 其他开发语言大版内专家分月排行榜第三2009年4月 其他开发语言大版内专家分月排行榜第三2009年1月 其他开发语言大版内专家分月排行榜第三2008年11月 其他开发语言大版内专家分月排行榜第三2008年7月 其他开发语言大版内专家分月排行榜第三2008年6月 其他开发语言大版内专家分月排行榜第三2006年9月 其他开发语言大版内专家分月排行榜第三
2007年11月 PHP大版内专家分月排行榜第二
2012年1月 其他开发语言大版内专家分月排行榜第二2011年5月 其他开发语言大版内专家分月排行榜第二2010年12月 其他开发语言大版内专家分月排行榜第二2009年2月 其他开发语言大版内专家分月排行榜第二2008年9月 其他开发语言大版内专家分月排行榜第二2008年8月 其他开发语言大版内专家分月排行榜第二2008年5月 其他开发语言大版内专家分月排行榜第二2007年11月 其他开发语言大版内专家分月排行榜第二
2011年4月 其他开发语言大版内专家分月排行榜第三2011年1月 其他开发语言大版内专家分月排行榜第三2009年6月 其他开发语言大版内专家分月排行榜第三2009年4月 其他开发语言大版内专家分月排行榜第三2009年1月 其他开发语言大版内专家分月排行榜第三2008年11月 其他开发语言大版内专家分月排行榜第三2008年7月 其他开发语言大版内专家分月排行榜第三2008年6月 其他开发语言大版内专家分月排行榜第三2006年9月 其他开发语言大版内专家分月排行榜第三
本帖子已过去太久远了,不再提供回复功能。python中有一个读写csv文件的包,直接import csv即可。利用这个python包可以很方便对csv文件进行操作,一些简单的用法如下。
csv_reader = csv.reader(open('data.file', encoding='utf-8'))
for row in csv_reader:
print(row)
例如有如下的文件
输出结果如下
['0.093700','0.139771','0.062774','0.007698']
['-0.022711','-0.050504','-0.035691','-0.065434']
['-0.090407','0.021198','0.208712','0.102752']
['-0.085235','0.009540','-0.013228','0.094063']
可见csv_reader把每一行数据转化成了一个list,list中每个元素是一个字符串。
读文件时,我们把csv文件读入列表中,写文件时会把列表中的元素写入到csv文件中。
list = ['1', '2','3','4']out = open(outfile, 'w')
csv_writer = csv.writer(out)
csv_writer.writerow(list)
可能遇到的问题:直接使用这种写法会导致文件每一行后面会多一个空行。
解决办法如下:
out = open(outfile, 'w', newline='')
csv_writer = csv.writer(out, dialect='excel')
csv_writer.writerow(list)
参考如下:
在stackoverflow上找到了比较经典的解释,原来 python3里面对 str和bytes类型做了严格的区分,不像python2里面某些函数里可以混用。所以用python3来写wirterow时,打开文件不要用wb模式,只需要使用w模式,然后带上newline=''。&
In&&2.X, it was&&to open the csvfile with 'b' because the csv module does its own line termination handling.
In Python 3.X, the csv module still does its own line termination handling, but still needs to know an encoding for Unicode strings. The correct way to open a csv file for writing is:
outputfile=open("out.csv",'w',encoding='utf8',newline='')
encoding&can be whatever you require, but&newline=''&suppresses text mode newline handling. On Windows, failing to do this will write \r\r\n file line endings instead of the correct \r\n. This is mentioned in the 3.X&&documentation only, but&&requires it as well.
阅读(...) 评论()python怎么读取修改csv文件,并且重新创建在一个文件夹中
你可以在D盘里建一个叫data的文件夹,把你的100个csv文件放进去。
如果你的csv文件是数值型的可作如下操作。
假设csv文件中第一列第二列为你要的
答: 珍爱网相亲可靠吗?
答: 慢慢弄。
我最开始只会装游戏;
后来中国有了网络慢慢跟朋友上聊天室聊天;
后来出了OICQ(现在叫QQ),又用那东西聊;
然后上联众玩在线游戏(棋牌类);
答: 七十年代的计算机网络
X.25 分组交换网:各国的电信部门建设运行
各种专用的网络体系结构:SNA,DNA
Internet 的前身ARPANET进行实验运行
大家还关注
确定举报此问题
举报原因(必选):
广告或垃圾信息
激进时政或意识形态话题
不雅词句或人身攻击
侵犯他人隐私
其它违法和不良信息
报告,这不是个问题
报告原因(必选):
这不是个问题
这个问题分类似乎错了
这个不是我熟悉的地区

我要回帖

更多关于 python 读取配置文件 的文章

 

随机推荐