我正在尝试构建一个python脚本,脚本将总结一个 一个大的csv文件的列,并给我输出。我能够总结 以下脚本的列:
currentRoute
但是当我使用csv列进行测试时,我遇到了一个错误,例如“12.4空格' (该字段有空格)。所以我试着在for循环中使用:value = row [17] .strip()但是抛出了一个错误:
回溯(最近一次呼叫最后):文件" sum_csv1_v3_modified.py", 8号线,在 对于csv.reader中的行(fin,delimiter =" |"):文件" C:\ ProgramData \ Anaconda3 \ lib \ codecs.py",第321行,在解码中 (结果,消耗)= self._buffer_decode(data,self.errors,final)UnicodeDecodeError:' utf-8'编解码器不能将字节0xbf解码到位 3213:inval id start byte
我无法显示真实数据,因为它是保密的,但我认为由于代码适用于其他csv文件,问题可能是由于空白。即使它是文件问题我也想知道如何处理这些字段。 另外我想知道如何编辑我的代码来替换','或者' $'在数字中。感谢。
答案 0 :(得分:0)
看起来'12 .4空格'是一个字符串。试试str.replace()。
a = '12.4 blank space'
a = a.replace(' blank space','')
float(a)
答案 1 :(得分:0)
你可以尝试这个,因为可能存在一些非ascii字符
row[17].encode('utf-8').strip()