flo*_*oss 5 python dataframe python-3.x export-to-csv pandas
在这个问题中,我的目标是在导出到时保留最后一个 尾随 zerosDataFrameCSV
我的dataset看起来像这样:
EST_TIME Open High
2017-01-01 1.0482 1.1200
2017-01-02 1.0483 1.1230
2017-01-03 1.0485 1.0521
2017-01-04 1.0480 1.6483
2017-01-05 1.0480 1.7401
...., ...., ....
2017-12-31 1.0486 1.8480
Run Code Online (Sandbox Code Playgroud)
我通过执行以下操作导入并创建 DataFrame 并保存到 CSV:
df_file = '2017.csv'
df.to_csv(df_file, index=False)
files.download(df_file)
Run Code Online (Sandbox Code Playgroud)
当我查看 CSV 时,我看到以下内容:
EST_TIME Open High
2017-01-01 1.0482 1.12
2017-01-02 1.0483 1.123
2017-01-03 1.0485 1.0521
2017-01-04 1.048 1.6483
2017-01-05 1.048 1.7401
...., ...., ....
2017-12-31 1.0486 1.848
Run Code Online (Sandbox Code Playgroud)
末尾的所有零都消失了。我想在保存 CSV 时保留尾随零,并且希望它位于小数点后 4 位。
您能让我知道如何实现这一目标吗?
小智 5
试试这个:浮点格式既可以显示 4 位小数的数据,也可以保存 4 位小数。
当读到 pandas 时:
pd.options.display.float_format = '{:,.4f}'.format
Run Code Online (Sandbox Code Playgroud)
保存为 CSV 时。
df.to_csv('your_file.csv', float_format='%.4f',index=False)
Run Code Online (Sandbox Code Playgroud)
您可以在写入 csv 之前调用apply并使用:format
df_file = '2017.csv'
df['Open'] = df['Open'].apply('{:0<6}'.format)
df['High'] = df['High'].apply('{:0<6}'.format)
df.to_csv(df_file, index=False)
Run Code Online (Sandbox Code Playgroud)
要应用于所有列,您可以使用applymap:
df = df.applymap('{:0<6}'.format)
Run Code Online (Sandbox Code Playgroud)
希望这可以帮助。
| 归档时间: |
|
| 查看次数: |
5607 次 |
| 最近记录: |