pandas 到 csv,无需将对象转换为科学记数法

问题描述 投票:0回答:1

df['Acolumn']='85236E106'

当我 df.to_csv('file') 时,它输出为 '8.523600000000001e+110'

如何转换为 csv 并将值保留为“85236E106”?

我尝试过:

  • float_format='%f' 且输出 = 一个非常长的浮点数而不是 '85236E106'
  • float_format='{:f}'.format 和输出=一个非常长的浮点数而不是'85236E106'
  • df['col']=str(df['col']) 并输出 = '8.523600000000001e+110'
  • df['col']=df['col'].astype(str) 并输出 = '8.523600000000001e+110'
  • 编码='utf-8'和输出=没有区别
  • read_sql 中的 Column::text 和输出 = 不起作用
  • read_sql 中的 CONVERT(text, Id) 和输出 = 不起作用
  • read_sql 中的 CAST(Id AS varchar) 和输出 = 不起作用
  • read_sql 中的 coerce_float=False 和输出 = 不起作用
pandas dataframe scientific-notation read-sql
1个回答
0
投票

我刚刚再次运行该文件,我不确定为什么 df['Acolumn']='85236E106' 现在没有转换为科学计数法。 我使用 to_csv 仅使用 index=False 作为参数。 不过,我已将 dtype={'Acolumn': pd.StringDtype()} 添加到 pd.read_sql_query 以防万一。

© www.soinside.com 2019 - 2024. All rights reserved.