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 的 with 语句详解
Jun 13 Python
python连接远程ftp服务器并列出目录下文件的方法
Apr 01 Python
Python 正则表达式入门(初级篇)
Dec 07 Python
Python正则表达式知识汇总
Sep 22 Python
python批量修改图片大小的方法
Jul 24 Python
Python爬虫实现获取动态gif格式搞笑图片的方法示例
Dec 24 Python
详解Python装饰器
Mar 25 Python
详解python中docx库的安装过程
Nov 08 Python
OpenCV哈里斯(Harris)角点检测的实现
Jan 15 Python
tensorflow将图片保存为tfrecord和tfrecord的读取方式
Feb 17 Python
Django url 路由匹配过程详解
Jan 22 Python
Python 多线程处理任务实例
Nov 07 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公用函数列表[正则]
2007/02/22 PHP
PHP制作万年历
2015/01/07 PHP
php中 $$str 中 "$$" 的详解
2015/07/06 PHP
php中实现进程锁与多进程的方法
2016/09/18 PHP
PHP去除字符串最后一个字符的三种方法实例
2017/03/01 PHP
PHP convert_cyr_string()函数讲解
2019/02/13 PHP
javascript prototype 原型链
2009/03/12 Javascript
ext checkboxgroup 回填数据解决
2009/08/21 Javascript
jQuery EasyUI API 中文文档 - Draggable 可拖拽
2011/09/29 Javascript
div浮层,滚动条移动,位置保持不变的4种方法汇总
2013/12/11 Javascript
通过BootStrap实现轮播图的实际应用
2016/09/26 Javascript
javascript解析ajax返回的xml和json格式数据实例详解
2017/01/05 Javascript
bootstrap中的 form表单属性role="form"的作用详解
2017/01/20 Javascript
JS实现简单拖拽效果
2017/06/21 Javascript
vue.js实现条件渲染的实例代码
2017/06/22 Javascript
微信小程序switch组件使用详解
2018/01/31 Javascript
[48:29]2018DOTA2亚洲邀请赛3月30日 小组赛A组 LGD VS KG
2018/03/31 DOTA
Python装饰器使用示例及实际应用例子
2015/03/06 Python
Python 生成 -1~1 之间的随机数矩阵方法
2018/08/04 Python
Python get获取页面cookie代码实例
2018/09/12 Python
Python中单线程、多线程和多进程的效率对比实验实例
2019/05/14 Python
介绍一款python类型检查工具pyright(推荐)
2019/07/03 Python
Python 如何批量更新已安装的库
2020/05/26 Python
学会迭代器设计模式,帮你大幅提升python性能
2021/01/03 Python
css3教程之倾斜页面
2014/01/27 HTML / CSS
英国天然保健品网站:Simply Supplements
2017/03/22 全球购物
电脑销售顾问自荐信
2014/01/29 职场文书
安全生产责任书范本
2014/04/15 职场文书
技术负责人任命书
2014/06/05 职场文书
教师党的群众路线教育实践活动学习笔记
2014/11/05 职场文书
2014大学辅导员工作总结
2014/12/02 职场文书
中学生自我评价范文
2015/03/03 职场文书
承诺书模板大全
2015/05/04 职场文书
OpenCV-Python直方图均衡化实现图像去雾
2021/06/07 Python
SQL 尚未定义空闲 CPU 条件 - OnIdle 作业计划将不起任何作用
2021/06/30 SQL Server
阿里云国际版 使用Nginx作为HTTPS转发代理服务器
2022/05/11 Servers