python txt csv文件同時含有多種編碼清洗

# -*- coding: utf-8 -*- """ Created on Wed Feb 23 11:25:05 2022 @author: mw """ from tqdm import tqdm #源文件,清洗後的文件 file='idc201902-1.csv' new_file='2_idc201902-1.csv' #打開文件,以二進制文件讀取 file1 = open(file,'rb') r = file1.read() file1.close() #文件拆分爲列表 r=r.split(b'\n') #刪除文件頭非數據部分 del r[0:3] del r[1] #計算文件長度 count=len(r) #拆分子列表 for i in tqdm(range(0,count)): r[i]=r[i].split(b',') #子列表第3個字段更換編碼 for i in tqdm(range(0,count)): if len(r[i])>=5: r[i][0]=r[i][0].strip() r[i][1]=r[i][1].strip() #第3列爲udf8 其他列爲gbk r[i][2]=r[i][2].decode('utf8').encode('gbk') #寫入替換文件 with open(new_file, "w", encoding="gbk") as f: # 寫入替換好的文本 print('寫入替換文本...') for i in tqdm(range(0,count)): if len(r[i])>=5: f.write(r[i][0].decode('gbk')+','+r[i][1].decode('gbk')+','+r[i][2].decode('gbk')+','+r[i][3].decode('gbk')+','+r[i][4].decode('gbk')+'\n') else: print('錯誤行') print(r[i])
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章