gpt4 book ai didi

csv - UnicodeDecodeError : 'charmap' codec can't decode byte 0x8d in position 7240: character maps to

转载 作者:行者123 更新时间:2023-12-03 15:26:53 29 4
gpt4 key购买 nike

我是学生做我的硕士论文。作为我论文的一部分,我正在与 合作。 python .我正在阅读 .csv 的日志文件格式化并将提取的数据写入另一个 .csv格式良好的文件。但是,当读取文件时,我收到此错误:

Traceback (most recent call last): File "C:\Users\SGADI\workspace\DAB_Trace\my_code\trace_parcer.py", line 19, in for row in reader:

  • File "C:\Users\SGADI\Desktop\Python-32bit-3.4.3.2\python-3.4.3\lib\encodings\cp1252.py", line 23, in decode return codecs.charmap_decode(input,self.errors,decoding_table)[0]
  • UnicodeDecodeError: 'charmap' codec can't decode byte 0x8d in position 7240: character maps to <undefined>

import csv
import re
#import matplotlib
#import matplotlib.pyplot as plt
import datetime
#import pandas
#from dateutil.parser import parse
#def parse_csv_file():
timestamp = datetime.datetime.strptime('00:00:00.000', '%H:%M:%S.%f')
timestamp_list = []
snr_list = []
freq_list = []
rssi_list = []
dab_present_list = []
counter = 0
f = open("output.txt","w")
with open('test_log_20150325_gps.csv') as csvfile:
reader = csv.reader(csvfile, delimiter=';')
for row in reader:
#timestamp = datetime.datetime.strptime(row[0], '%M:%S.%f')
#timestamp.split(" ",1)

timestamp = row[0]
timestamp_list.append(timestamp)


#timestamp = row[0]
details = row[-1]
counter += 1
print (counter)
#if(counter > 25000):
# break
#timestamp = datetime.datetime.strptime(row[0], '%M:%S.%f')



#timestamp_list.append(float(timestamp))

#search for SNRLevel=\d+
snr = re.findall('SNRLevel=(\d+)', details)
if snr == []:
snr = 0
else:
snr = snr[0]
snr_list.append(int(snr))

#search for Frequency=09ABC
freq = re.findall('Frequency=([0-9a-fA-F]+)', details)
if freq == []:
freq = 0
else:
freq = int(freq[0], 16)
freq_list.append(int(freq))

#search for RSSI=\d+
rssi = re.findall('RSSI=(\d+)', details)
if rssi == []:
rssi = 0
else:
rssi = rssi[0]
rssi_list.append(int(rssi))

#search for DABSignalPresent=\d+
dab_present = re.findall('DABSignalPresent=(\d+)', details)
if dab_present== []:
dab_present = 0
else:
dab_present = dab_present[0]
dab_present_list.append(int(dab_present))

f.write(str(timestamp) + "\t")
f.write(str(freq) + "\t")
f.write(str(snr) + "\t")
f.write(str(rssi) + "\t")
f.write(str(dab_present) + "\n")
print (timestamp, freq, snr, rssi, dab_present)

#print (index+1)

#print(timestamp,freq,snr)
#print (counter)
#print(timestamp_list,freq_list,snr_list,rssi_list)


'''if snr != []:
if freq != []:
timestamp_list.append(timestamp)
snr_list.append(snr)
freq_list.append(freq)
f.write(str(timestamp_list) + "\t")
f.write(str(freq_list) + "\t")
f.write(str(snr_list) + "\n")

print(timestamp_list,freq_list,snr_list)'''
f.close()

我搜索了特殊字符,但没有找到。我在互联网上搜索了建议更改格式的内容:我尝试了 ut8、latin1 和其他几种格式,但仍然出现此错误。你能帮我如何解决 pandas以及。我也试过 pandas但我仍然收到错误。
我什至删除了日志文件中的一行,但错误发生在下一行。

请帮我找到解决办法,谢谢。

最佳答案

我已经解决了这个问题。
我们可以使用这个代码

import codecs
types_of_encoding = ["utf8", "cp1252"]
for encoding_type in types_of_encoding:
with codecs.open(filename, encoding = encoding_type, errors ='replace') as csvfile:
your code
....
....

关于csv - UnicodeDecodeError : 'charmap' codec can't decode byte 0x8d in position 7240: character maps to <undefined>,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30598350/

29 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com