无法将新的DataFrame写入csv文件

时间:2019-09-23 16:16:19

标签: python pandas dataframe

我正在尝试将新的数据帧写入CSV文件。但是它没有被写入文件(空文件),也没有给出任何错误。

我觉得问题在于这条线。由于我试图将单个值写入列。

order['trade_type'] = trade_type

任何想法,这是怎么了。

def write_transaction_to_file(trade_type):
    order = pd.DataFrame()
    order['trade_type'] = trade_type
    order.to_csv("open_pos.csv", sep='\t', index=False)


write_transaction_to_file('SELL')

1 个答案:

答案 0 :(得分:2)

您的代码创建一个数据框,甚至没有列名。

现在看一下order['trade_type'] = trade_type

如果 order 包含一些行,则列之间只有一个名为 'trade_type'(字符串)和 trade_type (变量)是标量, 那么在 order 中的所有行中都将收到该值(在此列中)。

但是由于 order 包含没有行,所以没有写入的地方。

相反,您可以追加一行,例如:

order = order.append({'trade_type': trade_type}, ignore_index=True)

其余代码都OK,输出文件名为普通字符串 也可以。

其他解决方案:只需创建一个具有单行和单个数据框 命名列,其中填充了您的变量:

order = pd.DataFrame([[trade_type]], columns=['trade_type'])

然后像以前一样将其写入CSV文件。