Python 包含汉字的文件读写之每行末尾加上特定字符


Posted in Python onDecember 12, 2016

      最近,接手的项目里,提供的数据文件格式简直让人看不下去,使用pandas打不开,一直是io error.仔细查看,发现文件中很多行数据是以"结尾,然而其他行缺失,因而需求也就很明显了:判断每行的结尾是否有",没有的话,加上就好了。

采用倒叙的方式好了,毕竟很多人需要的只是一个快速的解决方案,而不是一个why. 解决方案如下:

b = open('b_file.txt', w)
 with open('a_file.txt', 'r') as lines:
  for line in lines:
   line = line.strip()
   if not line.endswith(r'"'):
    line += r'"'
   line += '\n'
   b.write(line) 
 b.close()
 a.close()

其中整个过程的关键在于

line = line.strip()

之前我偷懒,直接使用省去了上面那行,结果在判断条件栽了跟头,程序认为每一行都不是以"结尾:

if not line.endswith(r'"')

硬着头皮试上去,重写:

for line in open(data_path+'heheda.txt', 'r'):
 if not line[-2] == r'"':
  print line
  line = line[:-1] + r'"' + line[-1:]
  print line

      此时判断条件为 if not line[-2] == r'"',这样才能得到除最后一行之外的正确结果。众所周知的原因,在windows系统中,文件的回车符是"\r\n",因而,在没有strip()处理好回车符的时候,需要手动在每一行的结尾前移一个字节进行判断每行的末尾。而对于文件的最后一行,一般情况下不是回车符作为结尾,毕竟不要换行了嘛。因而line[-2]则定位到了最后一个汉字的中间,将\xx\xx,硬写成了\xx"\xx,使得最后一个字显示错误。

以上所述是小编给大家介绍的Python 包含汉字的文件读写之每行末尾加上特定字符,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!

Python 相关文章推荐
Python入门篇之条件、循环
Oct 17 Python
python获取android设备的GPS信息脚本分享
Mar 06 Python
用Python进行基础的函数式编程的教程
Mar 31 Python
使用Python通过win32 COM实现Word文档的写入与保存方法
May 08 Python
Python类装饰器实现方法详解
Dec 21 Python
pandas条件组合筛选和按范围筛选的示例代码
Aug 26 Python
python实现多线程端口扫描
Aug 31 Python
在PyCharm中实现添加快捷模块
Feb 12 Python
windows下Pycharm安装opencv的多种方法
Mar 05 Python
浅谈Python线程的同步互斥与死锁
Mar 22 Python
Python使用shutil模块实现文件拷贝
Jul 31 Python
python实现简单的三子棋游戏
Apr 28 Python
详解python3百度指数抓取实例
Dec 12 #Python
python实现多线程抓取知乎用户
Dec 12 #Python
浅谈Python类里的__init__方法函数,Python类的构造函数
Dec 10 #Python
详解常用查找数据结构及算法(Python实现)
Dec 09 #Python
详解Python装饰器由浅入深
Dec 09 #Python
python利用正则表达式提取字符串
Dec 08 #Python
基于python的七种经典排序算法(推荐)
Dec 08 #Python
You might like
在WIN98下以apache模块方式安装php
2006/10/09 PHP
php 中文字符入库或显示乱码问题的解决方法
2010/04/12 PHP
PHP下通过exec获得计算机的唯一标识[CPU,网卡 MAC地址]
2011/06/09 PHP
php中mysql连接和基本操作代码(快速测试使用,简单方便)
2014/04/25 PHP
PHP实现二叉树的深度优先与广度优先遍历方法
2015/09/28 PHP
phpStudy 2016 使用教程详解(支持PHP7)
2017/10/18 PHP
浅谈PHP实现大流量下抢购方案
2017/12/15 PHP
详解PHP序列化和反序列化原理
2018/01/15 PHP
使用SMB共享来绕过php远程文件包含的限制执行RFI的利用
2019/05/31 PHP
javascrip客户端验证文件大小及文件类型并重置上传
2011/01/12 Javascript
JQuery魔力之$("tagName")与selector
2012/03/05 Javascript
JQuery中使用ajax传输超大数据的解决方法
2014/07/14 Javascript
使用jquery.qrcode生成彩色二维码实例
2014/08/08 Javascript
js兼容pc端浏览器并有多种弹出小提示的手机端浮层控件实例
2015/04/29 Javascript
利用JQuery直接调用asp.net后台的简单方法
2016/10/27 Javascript
js中动态创建json,动态为json添加属性、属性值的实例
2016/12/02 Javascript
微信小程序canvas实现刮刮乐效果
2018/07/09 Javascript
js实现页面多个日期时间倒计时效果
2019/06/20 Javascript
JS实现提示效果弹出及延迟隐藏的功能
2019/08/26 Javascript
js实现带搜索功能的下拉框
2020/01/11 Javascript
基于原生js实现判断元素是否有指定class名
2020/07/11 Javascript
pandas条件组合筛选和按范围筛选的示例代码
2019/08/26 Python
Python 取numpy数组的某几行某几列方法
2019/10/24 Python
python Tensor和Array对比分析
2020/01/08 Python
下载与当前Chrome对应的chromedriver.exe(用于python+selenium)
2020/01/14 Python
使用Pycharm(Python工具)新建项目及创建Python文件的教程
2020/04/26 Python
Python Django form 组件动态从数据库取choices数据实例
2020/05/19 Python
Python中SQLite如何使用
2020/05/27 Python
澳大利亚第一的设计师礼服租赁网站:GlamCorner
2017/08/13 全球购物
农民工创业典型事迹
2014/01/25 职场文书
司仪主持词两篇
2014/03/22 职场文书
论文评语大全
2014/04/29 职场文书
金融管理专业求职信
2014/07/10 职场文书
2015年度村委会工作总结
2015/04/29 职场文书
JavaScript实现优先级队列
2021/12/06 Javascript
Go web入门Go pongo2模板引擎
2022/05/20 Golang