Pandas:to_csv()得到了一个意外的关键字参数

时间:2017-04-28 15:42:42

标签: python pandas export-to-csv

当我尝试使用dataframe to_csv函数中的一些参数时,它会抛出一个TypeError,例如`TypeError:to_csv()得到一个意外的关键字参数'doublequote'

df.to_csv('transactions.x', header=False, doublequote=False) 要么 df.to_csv('transactions.x', doublequote=False)

我的熊猫版本是0.19.2(选中print(pd.__version__)) 我正在使用Python 3.5

以下官方文件基于0.19.2。虽然我有类型错误,但声明这些参数可以用作可选项。 http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html

你们有什么想法吗?

谢谢。

解决方案

感谢所有评论者的头脑风暴。

使用命令df = df.groupby(['Transactions'])['Items'].apply(','.join)后,数据框变为系列。

为了将系列转换为数据帧,应该使用此命令df = df.groupby(['Transactions'])['Items'].apply(','.join).to_frame()

最后,要通过避免使用转义字符将其导出为具有非引用样式的CSV,您需要以下面的命令结束 df.to_csv('transactions.x', header=False, quoting=csv.QUOTE_NONE, escapechar=' ')#或任何escapechar。

希望它对每个人都有帮助。 感谢

3 个答案:

答案 0 :(得分:3)

这会有所帮助:

to_frame

根据您的评论,请阅读系列文章docs

您可以在保存之前使用nb workers = 12 I'm i : 0 HELLO I'm func1 BYE I'm func2 terminate called after throwing an instance of 'std::system_error' what(): Invalid argument Aborted (core dumped) 来解决问题。

答案 1 :(得分:0)

您的groupby来电会生成一系列没有doublequote参数的系列,在调用to_csv之前转换为调用to_frame()的数据框

此:

df.groupby(['Transactions'])['Items'].apply(','.join) 

正在对您的df进行分组,但是您选择了一个列并调用apply这将返回Series因此您的错误

答案 2 :(得分:0)

感谢所有评论者的头脑风暴。

使用命令df = df.groupby(['Transactions'])['Items'].apply(','.join)后,数据框变为系列。

为了将系列转换为数据帧,应该使用此命令df = df.groupby(['Transactions'])['Items'].apply(','.join).to_frame()

最后,要通过避免使用转义字符将其导出为具有非引用样式的CSV,您需要最终使用以下命令df.to_csv('transactions.x', header=False, quoting=csv.QUOTE_NONE, escapechar=' ')#或任何escapechar。

希望它对每个人都有帮助。感谢