在 Python 中将函数输出(包括 pandas DataFrame)保存到工作区

Posted

技术标签:

【中文标题】在 Python 中将函数输出(包括 pandas DataFrame)保存到工作区【英文标题】:Save function outputs (including pandas DataFrame) to workspace in Python 【发布时间】:2016-07-07 12:12:13 【问题描述】:

在 Python 中使用文件路径字符串作为输入创建了一个函数。函数返回一个列表和一个数据框。如何正确调用函数以将数据框保存到工作区? 没有该功能,代码可以完美运行,但我需要输出以进行进一步计算。 我想保存整个数据框,而不仅仅是其中的一部分。没有找到任何在线解决方案,我猜它太简单了。提前致谢!

功能:

def import_r_data(filepath):

    r('load("")'.format(filepath))
    tmp_obj = r['tmp.obj']
    data = build_py_from_ro(tmp_obj)
    dataframe = data['test1']['test2']

    column_list = list(dataframe)
    return column_list
    return dataframe

CALL FUNCTION:(此处出现错误,数据框输出(左侧)设置错误)

column_list, dataframe = import_r_data('filepathstring')

错误:

ValueError: too many values to unpack (expected 2)

编辑:解决方案(感谢 ayhan 和 DeepSpace):

return column_list, dataframe

【问题讨论】:

return column_list 下面的行不会被执行。如果您想返回一个元组,请尝试 return column_list, dataframe 我认为这不是您的代码的实际问题,所以我不会将此作为答案发布。 帮我解决了,谢谢! :) 忽略了错误的返回语句... 【参考方案1】:
return column_list
return dataframe

一旦你点击了第一个 return 语句,函数就会返回,而第二个 return 语句永远不会到达。这就是为什么column_list, dataframe = import_r_data('filepathstring') 会引发ValueError

import_r_data 返回单个对象,但您尝试将该单个值分配给元组。

你应该把这两行改成return column_list, dataframe

【讨论】:

好的,搜索到错误的一边,这解决了!哇,非常感谢,浪费了整整一个小时寻找解决方案!还要感谢“ayhan”。 :)

以上是关于在 Python 中将函数输出(包括 pandas DataFrame)保存到工作区的主要内容,如果未能解决你的问题,请参考以下文章

Python中将pandas的dataframe拷贝到剪切板并保持格式实战:to_clipboard()函数复制到Excel文件复制到文本文件(默认是tsv格式)复制到文本文件(设置逗号分隔符)

如何在 Python 中将函数输出保存为 PDF? [关闭]

python 在Pandas(Python)中将整数转换为浮点格式

使用 pandas 在 python 中将值写入 excel

如何在 Python/Pandas 中将变量设置为“今天”日期

在 python 3.8 中将 Access Logic 转换为 Pandas 的问题