这篇文章主要介绍如何解决python读写文件包含多种编码格式,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!
创新互联基于成都重庆香港及美国等地区分布式IDC机房数据中心构建的电信大带宽,联通大带宽,移动大带宽,多线BGP大带宽租用,是为众多客户提供专业服务器托管报价,主机托管价格性价比高,为金融证券行业成都服务器托管,ai人工智能服务器托管提供bgp线路100M独享,G口带宽及机柜租用的专业成都idc公司。写一个脚本文件,需要将多个文件中的内容汇总到一个txt文件中,由于多个文件有三种不同的编码方式,读写出现错误,先将解决方法记录如下:
# -*- coding: utf-8 -*- import wave import pylab as pl import numpy as np import pandas as pd import os import time import datetime import arrow import chardet import sys reload(sys) sys.setdefaultencoding('utf8') os.chdir("F:/new_srt") #get words of srt file ########################################### def get_word(): path = "F:/new_srt" filelist = os.listdir(path) for files in filelist: print files encoding = chardet.detect(open(files,'r').read())['encoding'] if encoding == 'utf-8': data=pd.read_csv(files,encoding="utf-8",sep='\r',header=None) elif encoding == 'GB2312': try: data=pd.read_csv(files,encoding="gbk",sep='\r',header=None) except UnicodeDecodeError: data=pd.read_csv(files,encoding="utf-8",sep='\r',header=None) elif encoding == 'UTF-8-SIG': data=pd.read_csv(files,encoding="UTF-8-SIG",sep='\r',header=None) else: print 'this is an error about %s' % files data_new=pd.DataFrame(np.reshape(data.values, (-1,3))) data_new.columns=['index','timecut','content'] filename = os.path.splitext(files)[0] #filetype = os.path.splitext(files)[1] with open('F:/result.txt', 'a') as file: file.write(str(filename)+' ' ) for item in data_new['content']: file.write(item.decode("utf-8") +' ') #s=s.decode("utf-8") file.write('\n') if __name__ == '__main__': get_word()
以上是“如何解决python读写文件包含多种编码格式”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注创新互联成都网站设计公司行业资讯频道!
另外有需要云服务器可以了解下创新互联scvps.cn,海内外云服务器15元起步,三天无理由+7*72小时售后在线,公司持有idc许可证,提供“云服务器、裸金属服务器、高防服务器、香港服务器、美国服务器、虚拟主机、免备案服务器”等云主机租用服务以及企业上云的综合解决方案,具有“安全稳定、简单易用、服务可用性高、性价比高”等特点与优势,专为企业上云打造定制,能够满足用户丰富、多元化的应用场景需求。