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爬虫的基本写法
Jan 08 Python
Python实现快速排序和插入排序算法及自定义排序的示例
Feb 16 Python
老生常谈Python进阶之装饰器
May 11 Python
Flask框架工厂函数用法实例分析
May 25 Python
Python2.7实现多进程下开发多线程示例
May 31 Python
tensorflow实现tensor中满足某一条件的数值取出组成新的tensor
Jan 04 Python
python实现Pyecharts实现动态地图(Map、Geo)
Mar 25 Python
aws 通过boto3 python脚本打pach的实现方法
May 10 Python
浅谈keras使用预训练模型vgg16分类,损失和准确度不变
Jul 02 Python
python3实现将json对象存入Redis以及数据的导入导出
Jul 16 Python
Python urllib库如何添加headers过程解析
Oct 05 Python
Python django中如何使用restful框架
Jun 23 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
PHP实现PDO的mysql数据库操作类
2014/12/12 PHP
php使用APC实现实时上传进度条功能
2015/10/26 PHP
PHP文件上传操作实例详解
2016/09/27 PHP
向大师们学习Javascript(视频与PPT)
2009/12/27 Javascript
jquery简单实现滚动条下拉DIV固定在头部不动
2013/11/25 Javascript
js判断字符是否是汉字的两种方法小结
2014/01/03 Javascript
instanceof和typeof运算符的区别详解
2014/01/06 Javascript
jquery操作select详解(取值,设置选中)
2014/02/07 Javascript
jquery实现更改表格行顺序示例
2014/04/30 Javascript
IE下支持文本框和密码框placeholder效果的JQuery插件分享
2015/01/31 Javascript
js实现非常棒的弹出div
2016/10/06 Javascript
BootStrap 表单控件之单选按钮水平排列
2017/05/23 Javascript
nodejs超出最大的调用栈错误问题
2017/12/27 NodeJs
基于$.ajax()方法从服务器获取json数据的几种方式总结
2018/01/31 Javascript
Node.js+Express+Mysql 实现增删改查
2019/04/03 Javascript
JS+CSS3实现的简易钟表效果示例
2019/04/13 Javascript
Vue 指令实现按钮级别权限管理功能
2019/04/23 Javascript
详解如何写出一个利于扩展的vue路由配置
2019/05/16 Javascript
jquery检测上传文件大小示例
2020/04/26 jQuery
[05:08]顺网杯ISS-DOTA2赛歌 少女偶像Lunar青春演绎
2013/12/05 DOTA
python自动化测试之连接几组测试包实例
2014/09/28 Python
pyqt5 使用label控件实时显示时间的实例
2019/06/14 Python
对python中GUI,Label和Button的实例详解
2019/06/27 Python
python爬虫的一个常见简单js反爬详解
2019/07/09 Python
Python字符串中删除特定字符的方法
2020/01/15 Python
CSS3系列之3D制作方法案例
2017/08/14 HTML / CSS
酒店个人培训自我鉴定
2013/12/11 职场文书
小学门卫岗位职责
2013/12/17 职场文书
农民工工资发放承诺书
2014/03/31 职场文书
幼儿教师师德师风自我剖析材料
2014/09/29 职场文书
医院见习总结
2015/06/24 职场文书
答谢酒会主持词
2015/07/02 职场文书
重阳节座谈会主持词
2015/07/03 职场文书
环保宣传语大全
2015/07/13 职场文书
小学四年级作文之人物作文
2019/11/06 职场文书
HTML5中 rem适配方案与 viewport 适配问题详解
2021/04/27 HTML / CSS