从终端执行以下代码后,输出正确,但是终端的提示转换为:
[72⎼⎺┬⎽│5␌⎺┌┤└┼⎽] ␋ñ▒ (┬⎺⎼┐)└␋±┤␊┌@└␋±┤␊┌-␍␊⎽┐├⎺⎻:·/.┴␋⎼├┤▒┌␊┼┴⎽/┬⎺⎼┐$ >
读取的文件“ R43A05i.txt”是Windows-1252编码的,我尝试在Linux Mint中读取。
我尝试使用这个:
fo = open("R43A05i.txt", "r",)
但是然后我在7432位置出现字符0xcd错误。
请,有人知道解决此问题的方法吗?
对不起,我的英语不好。
import re
import codecs
from datetime import datetime
import pandas as pd
import sys
fo = codecs.open("R43A05i.txt", "r",'WINDOWS-1252')
lines = fo.readlines()
point_reg = r'\D?[0-9]{4}'
lista=[]
print(u'Ejecutando')
for line in lines:
print (line)
cut_line = (line[4:20])
last_line = line
search_point = re.search(point_reg, cut_line, re.X | re.M)
if search_point:
denom=line[35:].strip()
last_point = search_point
else:
cut_line=line[:31].strip()
try:
dt_obj = datetime.strptime(cut_line, '%m/%d/%y %H:%M:%S')
state = line[31:72].strip()
quality = line[72:].strip()
meas=[last_point.group(),denom,dt_obj,state,quality]
print (meas)
print (meas)
lista.append(meas)
except:
print('error')
df = pd.DataFrame.from_dict(lista)
fo.close()
print(df)