您好,登錄后才能下訂單哦!
這篇文章主要介紹如何解決python讀寫文件包含多種編碼格式,文中介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們一定要看完!
寫一個腳本文件,需要將多個文件中的內容匯總到一個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讀寫文件包含多種編碼格式”這篇文章的所有內容,感謝各位的閱讀!希望分享的內容對大家有幫助,更多相關知識,歡迎關注億速云行業資訊頻道!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。