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 相关文章推荐
在Linux下调试Python代码的各种方法
Apr 17 Python
用python记录运行pid,并在需要时kill掉它们的实例
Jan 16 Python
Python实现自动为照片添加日期并分类的方法
Sep 30 Python
Python多层装饰器用法实例分析
Feb 09 Python
python3.6.3安装图文教程 TensorFlow安装配置方法
Jun 24 Python
解决Python plt.savefig 保存图片时一片空白的问题
Jan 10 Python
解决python 上传图片限制格式问题
Oct 30 Python
python 读取数据库并绘图的实例
Dec 03 Python
python异常处理和日志处理方式
Dec 24 Python
python statsmodel的使用
Dec 21 Python
python接口测试返回数据为字典取值方式
Feb 12 Python
python中validators库的使用方法详解
Sep 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
改造一台复古桌面收音机
2021/03/02 无线电
mysql下创建字段并设置主键的php代码
2010/05/16 PHP
PHPExcel简单读取excel文件示例
2016/05/26 PHP
PHP preg_match实现正则表达式匹配功能【输出是否匹配及匹配值】
2017/07/19 PHP
PHP仿tp实现mvc框架基本设计思路与实现方法分析
2018/05/23 PHP
javascript 类定义的4种方法
2009/09/12 Javascript
javascript AOP 实现ajax回调函数使用比较方便
2010/11/20 Javascript
利用jQuery接受和处理xml数据的代码(.net)
2011/03/28 Javascript
js限制textarea每行输入字符串长度的代码
2012/10/31 Javascript
jquery datatable后台封装数据示例代码
2014/08/07 Javascript
对比分析json及XML
2014/11/28 Javascript
jQuery中:header选择器用法实例
2014/12/29 Javascript
详谈javascript异步编程
2016/02/21 Javascript
Bootstrap表单布局
2016/07/19 Javascript
有关文件上传 非ajax提交 得到后台数据问题
2016/10/12 Javascript
JSON键值对序列化和反序列化解析
2017/01/24 Javascript
JavaScript数据结构之双向链表和双向循环链表的实现
2017/11/28 Javascript
vue实现在一个方法执行完后执行另一个方法的示例
2018/08/25 Javascript
vue实现双向绑定和依赖收集遇到的坑
2018/11/29 Javascript
Vue动态组件和异步组件原理详解
2019/05/06 Javascript
[02:11]2016国际邀请赛中国区预选赛最美TA采访现场玩家
2016/06/28 DOTA
零基础写python爬虫之神器正则表达式
2014/11/06 Python
详谈Python2.6和Python3.0中对除法操作的异同
2017/04/28 Python
Django 跨域请求处理的示例代码
2018/05/02 Python
Python+OpenCV图片局部区域像素值处理改进版详解
2019/01/23 Python
用Python实现校园通知更新提醒功能
2019/11/23 Python
纯CSS3实现扇形动画菜单(简化版)实例源码
2017/01/17 HTML / CSS
HTML5的结构和语义(5):交互
2008/10/17 HTML / CSS
JD Sports意大利:英国篮球和运动时尚的领导者
2017/10/29 全球购物
护理专业应届毕业生推荐信
2013/11/15 职场文书
暑期实践思想汇报
2014/01/06 职场文书
公司承诺书怎么写
2014/05/24 职场文书
企业宣传标语
2014/06/09 职场文书
2014年团队工作总结
2014/11/24 职场文书
2014年司法局工作总结
2014/12/11 职场文书
Nginx虚拟主机的配置步骤过程全解
2022/03/31 Servers