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实现朴素贝叶斯分类器
Mar 28 Python
Python实现的读写json文件功能示例
Jun 05 Python
将Dataframe数据转化为ndarry数据的方法
Jun 28 Python
python生成1行四列全2矩阵的方法
Aug 04 Python
详解django的serializer序列化model几种方法
Oct 16 Python
Python元组知识点总结
Feb 18 Python
Python使用tkinter模块实现推箱子游戏
Oct 08 Python
pytorch torch.expand和torch.repeat的区别详解
Nov 05 Python
Python OpenCV读取显示视频的方法示例
Feb 20 Python
PyQt5实现简单的计算器
May 30 Python
python Tkinter的简单入门教程
Apr 11 Python
python中 .npy文件的读写操作实例
Apr 14 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
IIS6的PHP最佳配置方法
2007/03/19 PHP
Windows下IIS6/Apache2.2.4+MySQL5.2+PHP5.2.1安装配置方法
2007/05/03 PHP
php执行sql语句的写法
2009/03/10 PHP
PHP5多态性与动态绑定介绍
2015/04/03 PHP
最新制作ThinkPHP3.2.3完全开发手册
2015/11/23 PHP
thinkPHP框架实现的简单计算器示例
2018/12/07 PHP
php实现网页上一页下一页翻页过程详解
2019/06/28 PHP
容易被忽略的JS脚本特性
2011/09/13 Javascript
jquery无缝向上滚动实现代码
2013/03/29 Javascript
Jquery实现点击切换图片并隐藏显示内容(2种方法实现)
2013/04/11 Javascript
js中的this关键字详解
2013/09/25 Javascript
JavaScript之IE的fireEvent方法详细解析
2013/11/20 Javascript
jquery常用特效方法使用示例
2014/04/25 Javascript
Bootstrap每天必学之面板
2015/11/30 Javascript
一种新的javascript对象创建方式Object.create()
2015/12/28 Javascript
jquery 实时监听输入框值变化的完美方法(必看)
2017/01/26 Javascript
Vue.js render方法使用详解
2017/04/05 Javascript
微信小程序常用的3种提示弹窗实现详解
2019/09/19 Javascript
vue实现文件上传读取及下载功能
2020/11/17 Javascript
vue实现带过渡效果的下拉菜单功能
2020/02/19 Javascript
[01:15:18]2014 DOTA2国际邀请赛中国区预选赛 LGD VS Speed Gaming.cn
2014/05/22 DOTA
Python中optparser库用法实例详解
2018/01/26 Python
利用python的socket发送http(s)请求方法示例
2018/05/07 Python
django的登录注册系统的示例代码
2018/05/14 Python
Python编程快速上手——Excel表格创建乘法表案例分析
2020/02/28 Python
Selenium 滚动页面至元素可见的方法
2020/03/18 Python
Python用Jira库来操作Jira
2020/12/28 Python
bonprix荷兰网上商店:便宜的服装、鞋子和家居用品
2020/07/04 全球购物
远程调用的原理
2014/07/05 面试题
大学生求职简历的自我评价范文
2013/10/12 职场文书
实习教师自我鉴定
2013/12/09 职场文书
多媒体编辑专业毕业生求职信
2014/06/13 职场文书
工作散漫检讨书
2014/09/16 职场文书
2015年教师党员自我评价材料
2015/03/04 职场文书
土木工程毕业答辩开场白
2015/05/29 职场文书
社区服务活动感想
2015/08/11 职场文书