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中去空格函数的用法
Aug 21 Python
Python实现的Google IP 可用性检测脚本
Apr 23 Python
Python中类型关系和继承关系实例详解
May 25 Python
Python常见工厂函数用法示例
Mar 21 Python
python+opencv识别图片中的圆形
Mar 25 Python
django中静态文件配置static的方法
May 20 Python
Python补齐字符串长度的实例
Nov 15 Python
使用python实现抓取腾讯视频所有电影的爬虫
Apr 15 Python
如何导出python安装的所有模块名称和版本号到文件中
Jun 05 Python
python实现磁盘日志清理的示例
Nov 05 Python
Selenium 安装和简单使用的实现
Dec 04 Python
Python+Appium新手教程
Apr 17 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代码(抓取网页中的邮箱地址)
2012/07/17 PHP
Javascript与PHP验证用户输入URL地址是否正确
2014/10/09 PHP
WAMP环境中扩展oracle函数库(oci)
2015/06/26 PHP
PHP下使用mysqli的函数连接mysql出现warning: mysqli::real_connect(): (hy000/1040): ...
2016/02/14 PHP
php生成0~1随机小数的方法(必看)
2017/04/05 PHP
javascript 计算两个整数的百分比值
2009/12/26 Javascript
JavaScript CSS修改学习第六章 拖拽
2010/02/19 Javascript
JavaScript中SQL语句的应用实现
2010/05/04 Javascript
jQuery 下拉列表 二级联动插件分享
2012/03/29 Javascript
关于js注册事件的常用方法
2013/04/03 Javascript
javascript实现checkBox的全选,反选与赋值
2015/03/12 Javascript
js判断子窗体是否关闭的方法
2015/08/11 Javascript
Bootstrap每天必学之基础排版
2015/11/20 Javascript
javascript运算符——位运算符全面介绍
2016/07/14 Javascript
BootStrap入门教程(三)之响应式原理
2016/09/19 Javascript
JavaScript面试题大全(推荐)
2016/09/22 Javascript
jQuery EasyUI 右键菜单--关闭标签/选项卡的简单实例
2016/10/10 Javascript
ES6教程之for循环和Map,Set用法分析
2017/04/10 Javascript
不得不看之JavaScript构造函数及new运算符
2017/08/21 Javascript
Angularjs自定义指令实现分页插件(DEMO)
2017/09/16 Javascript
js实现表单项的全选、反选及删除操作示例
2020/06/05 Javascript
python Selenium爬取内容并存储至MySQL数据库的实现代码
2017/03/16 Python
Python中Django 后台自定义表单控件
2017/03/28 Python
浅谈Series和DataFrame中的sort_index方法
2018/06/07 Python
python实现多人聊天室
2020/03/31 Python
python实现从文件中读取数据并绘制成 x y 轴图形的方法
2018/10/14 Python
python numpy--数组的组合和分割实例
2020/02/24 Python
Python 列表反转显示的四种方法
2020/11/16 Python
CSS3文本换行word-wrap解决英文文本超过固定宽度不换行
2013/10/10 HTML / CSS
大学生专科毕业生自我评价
2013/11/17 职场文书
英文请假条
2014/04/11 职场文书
党委书记个人对照检查材料
2014/09/15 职场文书
2014年乡镇民政工作总结
2014/12/02 职场文书
护理专业自我评价
2015/03/11 职场文书
七年级英语教学反思
2016/02/15 职场文书
Spring整合Mybatis的全过程
2021/06/28 Java/Android