# -*- 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])
网友评论