我正在使用 python 從 API 中提取數據并將其存儲在 pandas 數據框中。我以 CSV 格式導出數據框,當我使用 excel 打開它時,一些列(有很大的數字)被轉換為科學計數法,我不希望這樣。我希望數字保持整數格式。我曾嘗試在 to_csv 命令中使用浮點格式選項,但它也沒有幫助。這是我的導出命令: df.to_csv("output.csv",index=False, float_format='{:f}'.format, encoding='utf-8',sep=',')Ps:數字在熊貓數據框中以整數格式可見。此外,當使用記事本打開 csv 文件時,數據會以正確的格式顯示。當前輸出:期望的輸出:
2 回答

繁華開滿天機
TA貢獻1816條經驗 獲得超4個贊
Excel 傾向于自動轉換各種東西(大整數、字母數字代碼如 1e2、任何看起來像日期的東西);當使用它來處理數據時,這通常是一個問題。
兩種選擇:
在 Excel 中使用整數
我不認為有任何方法可以在 CSV 中為 Excel 提供整數,只有十進制數字(四舍五入,如您所見)和文本(很難進一步分析)。
Excel 可以在內部存儲大整數(最多 9 個 quintillion);您應該能夠將它們直接寫入使用像OpenPyXl
.xslx
這樣的庫。但是,任何基于這些數字的公式都會很快切換到再次使用十進制數字,但會四舍五入并失去精度。
避免使用 Excel
由于您已經在使用 Python,因此您可以繼續使用 Python 進行額外的分析;那么您就可以完全控制公式在每個階段是使用整數還是小數(對于小數,還有多少小數位)。
這樣做的好處是您可以完全控制;缺點是你可以完全控制......

ABOUTYOU
TA貢獻1812條經驗 獲得超5個贊
選擇單元格 -> 右鍵單擊 -> 設置單元格格式 -> 選擇“數字”符號。
Python 正在正確地完成它的工作。由于列寬有限,Excel 默認使用科學計數法。上述步驟告訴 Excel 不要那樣做。
添加回答
舉報
0/150
提交
取消