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绘图库Matplotlib的安装
Jul 03 Python
进一步理解Python中的函数编程
Apr 13 Python
Python实现更改图片尺寸大小的方法(基于Pillow包)
Sep 19 Python
python构建深度神经网络(DNN)
Mar 10 Python
python实现画一颗树和一片森林
Jun 25 Python
python爬虫超时的处理的实例
Dec 19 Python
Django 迁移、操作数据库的方法
Aug 02 Python
PYTHON实现SIGN签名的过程解析
Oct 28 Python
Django2 连接MySQL及model测试实例分析
Dec 10 Python
pytorch 实现cross entropy损失函数计算方式
Jan 02 Python
tensorflow实现打印ckpt模型保存下的变量名称及变量值
Jan 04 Python
python使用BeautifulSoup 解析HTML
Apr 24 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
欧美媒体选出10年前最流行的17部动画
2017/01/18 日漫
页面利用渐进式JPEG来提升用户体验度
2014/12/01 PHP
php学习笔记之mb_strstr的基本使用
2018/02/03 PHP
jQuery操作Select的Option上下移动及移除添加等等
2013/11/18 Javascript
javascript eval(func())使用示例
2013/12/05 Javascript
JS对象转换为Jquery对象示例
2014/01/26 Javascript
jQuery实现拖动调整表格单元格大小的代码实例
2015/01/13 Javascript
jQuery基于$.ajax设置移动端click超时处理方法
2016/05/14 Javascript
用JS实现轮播图效果(二)
2016/06/26 Javascript
jQuery密码强度验证控件使用详解
2017/01/05 Javascript
WebView启动支付宝客户端支付失败的问题小结
2017/01/11 Javascript
解析Vue2.0双向绑定实现原理
2017/02/23 Javascript
Angular.js之作用域scope'@','=','&'实例详解
2017/02/28 Javascript
javascript 中select框触发事件过程的分析
2017/08/01 Javascript
浅谈vue的踩坑路
2017/08/31 Javascript
JS监控关闭浏览器操作的实例详解
2017/09/12 Javascript
angularJs提交文本框数据到后台的方法
2018/10/08 Javascript
微信小程序事件 bindtap bindinput代码实例
2019/08/26 Javascript
JavaScript canvas实现跟随鼠标事件
2020/02/10 Javascript
用Python编写简单的定时器的方法
2015/05/02 Python
Python cx_freeze打包工具处理问题思路及解决办法
2016/02/13 Python
Python脚本处理空格的方法
2016/08/08 Python
Python中序列的修改、散列与切片详解
2017/08/27 Python
python实现最长公共子序列
2018/05/22 Python
python实现图片彩色转化为素描
2019/01/15 Python
tensorflow2.0保存和恢复模型3种方法
2020/02/03 Python
python解析xml文件方式(解析、更新、写入)
2020/03/05 Python
详解Python中pyautogui库的最全使用方法
2020/04/01 Python
解决PDF 转图片时丢文字的一种可能方式
2021/03/04 Python
CSS实现雨滴动画效果的实例代码
2019/10/08 HTML / CSS
Boom手表官网:瑞典手表品牌,设计你的手表
2019/03/11 全球购物
极简鞋类,赤脚的感觉:Lems Shoes
2019/08/06 全球购物
《美丽的彩虹》教学反思
2014/02/25 职场文书
丧事主持词大全
2014/04/02 职场文书
复兴之路展览观后感
2015/06/02 职场文书
如何使用PyCharm及常用配置详解
2021/06/03 Python