2017-06-02 29 views
2

由於numpy.nan是python中特殊的float類型,我有一個pandas.Dataframe,有些列由整數和Nan組成。正如我們所知,這些列將是float數據類型。我想將pandas.Dataframe.to_csv(一個CSV文件)複製到數據庫中。但是由於CSV中的那些列是浮點數據類型(即使我在.to_csv中將它們轉換爲浮點數,我甚至會在熊貓中爲它們設置'object'類型),但是DB中這些列的表格模式是整數類型,所以它們將被拒絕加載。這是我得到的問題。什麼是解決這個問題的好方法?改變數據庫模式並不好。將數據寫入數據庫與數據庫中的整數列中的數據庫

例如我有一個data = pandas.Dataframe()如下。 ID:浮點值:浮法

ID  Value 
0 1001.0 500.0 
1 1002.0 NaN 
2 NaN  600.0 
3 1003.0 800.0 

我怎麼可以創建一個CSV是這樣的:

ID|Value 
1001|500 
1002| 
|600 
1003|800 
+0

格式它們與零個小數'字符串。 '{:0.0F}' 格式(0)'? – piRSquared

+0

嘿,謝謝。你能再詳細一點嗎? – yabchexu

+0

不是沒有更多的數據來玩。給我一些示例數據,我會告訴你我在說什麼。您應該閱讀[** MCVE **](http://stackoverflow.com/help/mcve)和[** HowToAsk **](http://stackoverflow.com/help/how-to-ask) – piRSquared

回答

1
df.to_csv('yourfile.csv', sep='|', index=None, float_format='%0.0f') 

ID|Value 
1001|500 
1002| 
|600 
1003|800 
+0

謝謝!意外的簡單..... – yabchexu