Python处理unicode编码的txt文件(Python中文处理)——解决to_excel()和to_csv()导出文件内容为空的问题
2017-02-22 09:37
1191 查看
使用Python进行txt文件逐行读取时,对编码是有特殊要求的。一般进行逐行读取的语句为
但是有时候我们会发现以下情况,我们在控制台中输出的内容为空。此外,千辛万苦将txt里面的内容一列列整理到一个Dataframe里面,想要保存到csv文件或者xls文件时,发现导出的文件内容都是空的,只有列名。原因是,我们想要读取的txt文件的编码是unicode和ascii格式的,在使用Python进行文本读取时,首先必须先转换为utf-8或者gbk格式,Pandas 不支持读写unicode和ascii编码方式的文件和数据。具体查看txt文件的编码方式的方法:
方法一:打开txt文件,点击左上角的“文件”,点击“另存为”,查看下方的编码方式。
方法二:使用Python的chardet模块查看文件中字符的编码格式
好,知道了问题的原因后,要解决问题,只要我们将txt文件转换为utf-8的编码格式就行了。代码如下:
好,这样就可以将字符编码转化为Python 中Pandas模块可读可写的utf-8编码方式了。
filepath = 'D:/filename.txt' f = open(filepath,'r') lines = f.readlines() for line in lines: print line
但是有时候我们会发现以下情况,我们在控制台中输出的内容为空。此外,千辛万苦将txt里面的内容一列列整理到一个Dataframe里面,想要保存到csv文件或者xls文件时,发现导出的文件内容都是空的,只有列名。原因是,我们想要读取的txt文件的编码是unicode和ascii格式的,在使用Python进行文本读取时,首先必须先转换为utf-8或者gbk格式,Pandas 不支持读写unicode和ascii编码方式的文件和数据。具体查看txt文件的编码方式的方法:
方法一:打开txt文件,点击左上角的“文件”,点击“另存为”,查看下方的编码方式。
方法二:使用Python的chardet模块查看文件中字符的编码格式
import chardet f = open('D:/filename.txt','r') line = f.readline() print chardet.detect(line)
好,知道了问题的原因后,要解决问题,只要我们将txt文件转换为utf-8的编码格式就行了。代码如下:
#-*- coding: utf-8 -*- import string import codecs file1 = "F:/filename/wer.txt" file2 = "F:/filename/wer_test.txt" def changecode(): tt = codecs.open(file1, 'rb', 'utf-16') # 111.txt为unicode编码文件,以unicode编码打开,utf-16=unicode mm = codecs.open(file2, 'wb', 'utf-8') ff = tt.readlines() for i in ff: mm.write(i.encode('utf-8')) tt.close mm.close changecode()
好,这样就可以将字符编码转化为Python 中Pandas模块可读可写的utf-8编码方式了。
相关文章推荐
- 解决python3.6下scrapy中xpath.extract()匹配出来的内容转成json与.csv文件没有编码(unicode)的问题
- python2.7 的中文编码处理,解决UnicodeEncodeError: 'ascii' codec can't encode character 问题
- 文件、导出-在Mac系统下Excel转csv文件中文乱码问题解决-by小雨
- python 处理中文文件时的编码问题,尤其是utf-8和gbk
- Trac - 常见问题 - 导出的csv格式文件在Excel中处理unix时间戳
- 简单解决Python文件中文编码问题
- 解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题
- 【转】python csv 格式文件 中文乱码问题解决方法
- python 写csv文件,excel打开中文乱码解决方法
- 解决PHP生成UTF-8编码的CSV文件用Excel打开乱码的问题
- 使用python处理中文csv文件,并让excel正确显示中文(避免乱码)
- java输出utf-8的csv文件时,文件中有中文,excel打开文件乱码问题解决
- 使用python处理中文csv文件,并让excel正确显示中文(避免乱码)
- laravel 导出csv文件 用excel打开中文乱码问题之BOM
- 用Excel打开csv文件时,如何处理数字内容展现会自动转换格式的问题
- [Python] 中文编码问题:raw_input输入、文件读取、变量比较等str、unicode、utf-8转换问题
- 在Mac系统下Excel转csv文件中文乱码问题解决
- Mantistbt系统导出excel为xml,以及csv 中文乱码问题解决
- MySQL直接导出CSV文件,并解决中文乱码的问题
- python与sqlite处理中文字符时出现的编码错误问题解决