python 讀寫(xiě)文件包含多種編碼格式的解決方式
今天寫(xiě)一個(gè)腳本文件,需要將多個(gè)文件中的內(nèi)容匯總到一個(gè)txt文件中,由于多個(gè)文件有三種不同的編碼方式,讀寫(xiě)出現(xiàn)錯(cuò)誤,先將解決方法記錄如下:
# -*- 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 讀寫(xiě)文件包含多種編碼格式的解決方式就是小編分享給大家的全部?jī)?nèi)容了,希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。
- 淺析Python 字符編碼與文件處理
- Python2與Python3關(guān)于字符串編碼處理的差別總結(jié)
- Python 忽略文件名編碼的方法
- 詳解用Python調(diào)用百度地圖正/逆地理編碼API
- 使用python批量轉(zhuǎn)換文件編碼為UTF-8的實(shí)現(xiàn)
- Python利用 utf-8-sig 編碼格式解決寫(xiě)入 csv 文件亂碼問(wèn)題
- Python字符編碼轉(zhuǎn)碼之GBK,UTF8互轉(zhuǎn)
- python讀取tif圖片時(shí)保留其16bit的編碼格式實(shí)例
- Python3 解決讀取中文文件txt編碼的問(wèn)題
- 詳解Python中的編碼問(wèn)題(encoding與decode、str與bytes)
相關(guān)文章
Python?頁(yè)面解析Beautiful?Soup庫(kù)的使用方法
Beautiful?Soup?簡(jiǎn)稱?BS4(其中?4?表示版本號(hào))是一個(gè)?Python?中常用的頁(yè)面解析庫(kù),它可以從?HTML?或?XML?文檔中快速地提取指定的數(shù)據(jù),這篇文章主要介紹了springboot?集成?docsify?實(shí)現(xiàn)隨身文檔?,需要的朋友可以參考下2022-09-09
Python 中 and, or, &, |, ^ 
這篇文章主要介紹了Python 中 and, or, &, |, ^ 的使用小結(jié),本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-01-01
Django rest framework基本介紹與代碼示例
這篇文章主要介紹了Django rest framework基本介紹與代碼示例,簡(jiǎn)單敘述了rest framework的一些用處,可選擇的相關(guān)軟件包,然后分享了一個(gè)簡(jiǎn)單的模型支持的API的例子,小編覺(jué)得還是挺不錯(cuò)的,具有一定借鑒價(jià)值,需要的朋友可以參考下2018-01-01
python numpy中array與pandas的DataFrame轉(zhuǎn)換方式
這篇文章主要介紹了python numpy中array與pandas的DataFrame轉(zhuǎn)換方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-07-07
使用tensorflow顯示pb模型的所有網(wǎng)絡(luò)結(jié)點(diǎn)方式
今天小編就為大家分享一篇使用tensorflow顯示pb模型的所有網(wǎng)絡(luò)結(jié)點(diǎn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2020-01-01
python使用Pandas庫(kù)提升項(xiàng)目的運(yùn)行速度過(guò)程詳解
這篇文章主要介紹了python使用Pandas庫(kù)提升項(xiàng)目的運(yùn)行速度過(guò)程詳解,這是一篇關(guān)于“如何充分利用Pandas內(nèi)置的強(qiáng)大且易于上手的特性”的指引。此外,你將學(xué)習(xí)到一些實(shí)用的節(jié)省時(shí)間的技巧,需要的朋友可以參考下2019-07-07
Python?matplotlib中plt.plot()函數(shù)的顏色參數(shù)設(shè)置及可以直接運(yùn)行的程序代碼
在數(shù)據(jù)可視化中matplotlib.pyplot模塊的plot函數(shù)是一個(gè)非常重要且常用的工具,用于繪制2D圖形,這篇文章主要給大家介紹了關(guān)于Python?matplotlib中plt.plot()函數(shù)的顏色參數(shù)設(shè)置及可以直接運(yùn)行的程序代碼,需要的朋友可以參考下2024-03-03
python使用ctypes模塊調(diào)用windowsapi獲取系統(tǒng)版本示例
這篇文章主要介紹了python使用ctypes模塊調(diào)用windowsapi獲取系統(tǒng)版本示例,需要的朋友可以參考下2014-04-04
Python輸入圓半徑,計(jì)算圓周長(zhǎng)和面積的實(shí)現(xiàn)方式
這篇文章主要介紹了Python輸入圓半徑,計(jì)算圓周長(zhǎng)和面積的實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2022-12-12

