使用Nan在数据库中的整数列中将数据写入数据库

时间:2017-06-02 17:30:21

标签: python csv pandas nan vertica

由于numpy.nan是python中的一个特殊浮点类型,我有一个pandas.Dataframe,有些列由整数和Nan组成。我们知道这些列将是float数据类型。我想将pandas.Dataframe.to_csv(CSV文件)复制到数据库。但是因为CSV中的那些列是float数据类型(即使我在pandas中为它们设置'object'类型,但是当我执行.to_csv时它们被转换为float),但DB中这些列的表模式是整数类型,所以它们是将被拒绝加载。这是我得到的问题。什么是解决这个问题的好方法?更改数据库架构并不好。

例如我有一个data = pandas.Dataframe()如下所示。 ID:float值:float

   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

1 个答案:

答案 0 :(得分:1)

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

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