to_csv使用np.nan值写入错误

时间:2018-11-01 17:31:10

标签: python pandas csv

我试图使用export const MessagesList = (props, resource) => ( <FullWidthTabs> <List actions={<InboxListActions />} {...props}> <Datagrid> <ArrayField source="inbox"> <MessagesGrid /> </ArrayField> </Datagrid> </List> <List actions={<OutboxListActions />} {...props}> <Datagrid> <ArrayField source="outbox"> <MessagesGrid /> </ArrayField> </Datagrid> </List> <List actions={<DirectListActions />} {...props}> <Datagrid> <ArrayField source="direct"> <MessagesGrid /> </ArrayField> </Datagrid> </List> </FullWidthTabs> ); 函数将DataFrame写入csv文件。我想保留带有引号的to_csv() dtype的列并保留不带引号的object dtype的列。但是,该函数似乎为dtype为float64的列的np.nan值写了引号。

我确实在Pandas社区中发现了类似的错误报告:
to_csv writes wrong with NaN value

但是看完这篇文章后,我不知道如何使其正常工作。因此,我希望得到Python专家的帮助。

下面是一些具有更多详细信息的代码段:

float64

当前输出:

import csv
import pandas as pd
import numpy as np    

df = pd.DataFrame({'account_id': ['p1', 'p2', 'p3'],
                   'currency': ['', '', 'USD'],
                   'mv': [1.232, np.nan, 3.6]})    

df.to_csv("~/test.csv", index=False, encoding='utf-8', sep=',', quoting=csv.QUOTE_NONNUMERIC)

预期输出:

"account_id","currency","mv"
"p1","",1.232
"p2","",""
"p3","USD",3.6

以下是有关我的Python设置的一些详细信息:

"account_id","currency","mv"
"p1","",1.232
"p2","",
"p3","USD",3.6

0 个答案:

没有答案