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系列之数据处理编程实例(一)
May 22 Python
Python模拟百度登录实例详解
Jan 20 Python
python中正则表达式 re.findall 用法
Oct 23 Python
Django 在iframe里跳转顶层url的例子
Aug 21 Python
Python定义函数时参数有默认值问题解决
Dec 19 Python
python3.8与pyinstaller冲突问题的快速解决方法
Jan 16 Python
Python argparse模块使用方法解析
Feb 20 Python
python DES加密与解密及hex输出和bs64格式输出的实现代码
Apr 13 Python
Python 通过监听端口实现唯一脚本运行方式
May 05 Python
Biblibili视频投稿接口分析并以Python实现自动投稿功能
Feb 05 Python
pygame面向对象的飞行小鸟实现(Flappy bird)
Apr 01 Python
利用Python将list列表写入文件并读取的方法汇总
Mar 25 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里面的抽象类
2010/01/28 PHP
解析crontab php自动运行的方法
2013/06/24 PHP
php批量转换文件夹下所有文件编码的函数类
2017/08/06 PHP
使用PHP反射机制来构造"CREATE TABLE"的sql语句
2019/03/21 PHP
php反序列化长度变化尾部字符串逃逸(0CTF-2016-piapiapia)
2020/02/15 PHP
JavaScript中的new的使用方法与注意事项
2007/05/16 Javascript
JS分页效果示例
2013/10/11 Javascript
Jquery 垂直多级手风琴菜单附源码下载
2015/11/17 Javascript
AngularJS基础 ng-keypress 指令简单示例
2016/08/02 Javascript
jQuery属性选择器用法示例
2016/09/09 Javascript
Javascript 动态改变imput type属性
2016/11/01 Javascript
vue 开发一个按钮组件的示例代码
2018/03/27 Javascript
JavaScript的词法结构精华篇
2018/10/17 Javascript
通过JavaScript下载文件到本地的方法(单文件)
2019/03/17 Javascript
浅谈JavaScript_DOM学习篇_图片切换小案例
2019/03/19 Javascript
Node.js学习教程之Module模块
2019/09/03 Javascript
javascript绘制简单钟表效果
2020/04/07 Javascript
Python struct模块解析
2014/06/12 Python
django如何连接已存在数据的数据库
2018/08/14 Python
python中ImageTk.PhotoImage()不显示图片却不报错问题解决
2018/12/06 Python
Python生成MD5值的两种方法实例分析
2019/04/26 Python
python线程join方法原理解析
2020/02/11 Python
Python爬虫回测股票的实例讲解
2021/01/22 Python
Melijoe英国官网:法国儿童时尚网站
2016/11/18 全球购物
奇怪的鱼:Weird Fish
2018/03/18 全球购物
德国香水、化妆品和护理产品网上商店:Parfumdreams
2018/09/26 全球购物
Ever New加拿大官网:彰显女性美
2018/10/05 全球购物
信息技术专业大学生个人的自我评价
2013/10/05 职场文书
班组安全员工作职责
2014/02/01 职场文书
后备干部培训方案
2014/05/22 职场文书
活动总结模板大全
2015/05/11 职场文书
2015年初一班主任工作总结
2015/05/13 职场文书
老人与海读书笔记
2015/06/26 职场文书
小学英语教学随笔
2015/08/14 职场文书
vue实现无缝轮播效果(跑马灯)
2021/05/14 Vue.js
Kubernetes部署实例并配置Deployment、网络映射、副本集
2022/04/01 Servers