熊猫在读取csv文件时将垃圾数字放在真实数据之后



我使用read_csv读取文件,但当我查看数据帧中的内容时,它会显示原始文件中更多的数字。

代码:

df = pd.read_csv(f'{name}.csv', sep=',', decimal='.', dtype={'col1': str, 'column_with_trash': float})
df[df['col1'] == '0001'].to_excel('1.xlsx')
df['column_with_trash'] = df['column_with_trash'] - 1524684.3740493
df[df['col1'] == '0001'].to_excel('2.xlsx')

Csv文件如下所示:

col1,col2,col3,col4,col5,col6,column_with_trash
0001,TP,2021-12-31,T,N,2130875.40078,1524684.374049378

我甚至不做运算,但我得到的输出仍然与我输入的不同。当我打开1.xlsx文件时,我可以从输出中减去1524684.3740493(它似乎和输入-pic一样结束(,我会得到000000007798926562404630000,因为那里有开头没有的数字。在2.xlsx文件中,我得到了相同的结果。

这怎么可能?我已经尝试过float_precision="高"round_trip";没有,什么都没有改变。差在小数点后第9位,把我的计算搞砸了。df['column_with_trash'] = df['column_with_trash'].round(9)应该可以工作,但不会改变这些输出中的任何内容。

pic

是MS Excel把这些垃圾字符放在那里,而不是熊猫。从csv文件读取后,以及打开pandas的xlsx文件时,它在末尾创建了想象中的数字,并扭曲了我的结果。

相关内容

  • 没有找到相关文章