在 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