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 26 Python
Django中的“惰性翻译”方法的相关使用
Jul 27 Python
python+matplotlib绘制饼图散点图实例代码
Jan 20 Python
python如何派生内置不可变类型并修改实例化行为
Mar 21 Python
python获取文件路径、文件名、后缀名的实例
Apr 23 Python
对Python2与Python3中__bool__方法的差异详解
Nov 01 Python
python 生成图形验证码的方法示例
Nov 11 Python
Python3 venv搭建轻量级虚拟环境的步骤(图文)
Aug 09 Python
Pytorch之Variable的用法
Dec 31 Python
Python内置函数locals和globals对比
Apr 28 Python
Python实现区域填充的示例代码
Feb 03 Python
用Python实现屏幕截图详解
Jan 22 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
PHP4中实现动态代理
2006/10/09 PHP
php strstr查找字符串中是否包含某些字符的查找函数
2010/06/03 PHP
PHP中strlen()和mb_strlen()的区别浅析
2014/06/19 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
ejs v9 javascript模板系统
2012/03/21 Javascript
ECMAScript6中Set/WeakSet详解
2015/06/12 Javascript
JavaScript中string对象
2015/06/12 Javascript
javascript随机显示背景图片的方法
2015/06/18 Javascript
深入理解JS实现快速排序和去重
2016/10/17 Javascript
AngularJS模仿Form表单提交的实现代码
2016/12/08 Javascript
Vue.js实战之利用vue-router实现跳转页面
2017/04/01 Javascript
详解如何用模块化的方式写vuejs
2017/12/16 Javascript
vue中v-cloak解决刷新或者加载出现闪烁问题(显示变量)
2018/04/20 Javascript
vue二级菜单导航点击选中事件的方法
2018/09/12 Javascript
vue2.0 实现富文本编辑器功能
2019/05/26 Javascript
JS如何在数组指定位置插入元素
2020/03/10 Javascript
js 数据类型判断的方法
2020/12/03 Javascript
[48:51]完美世界DOTA2联赛PWL S2 Magma vs InkIce 第一场 11.28
2020/12/02 DOTA
Python 实现一个颜色色值转换的小工具
2016/12/06 Python
Python时间序列处理之ARIMA模型的使用讲解
2019/04/02 Python
Python中print和return的作用及区别解析
2019/05/05 Python
flask框架json数据的拿取和返回操作示例
2019/11/28 Python
pytorch 获取tensor维度信息示例
2020/01/03 Python
Python类的动态绑定实现原理
2020/03/21 Python
Python脚本导出为exe程序的方法
2020/03/25 Python
利用Pycharm + Django搭建一个简单Python Web项目的步骤
2020/10/22 Python
使用Python Tkinter实现剪刀石头布小游戏功能
2020/10/23 Python
文秘专业大学生求职信
2013/11/10 职场文书
纠风工作实施方案
2014/03/15 职场文书
班主任对学生的评语
2014/04/26 职场文书
幼儿园辞职信范文
2015/02/27 职场文书
大学军训通讯稿(2016最新版)
2015/12/21 职场文书
2016猴年开门红标语口号
2015/12/26 职场文书
如何将numpy二维数组中的np.nan值替换为指定的值
2021/05/14 Python
vue3.0 数字翻牌组件的使用方法详解
2022/04/20 Vue.js
Java获取字符串编码格式实现思路
2022/09/23 Java/Android