【发布时间】:2020-01-08 15:11:22
【问题描述】:
我不确定如何准确地表达我的问题,并且我看到了一些 类似 的问题,但不完全是我想要做的。如果已经有解决方案,请指导我。
这是我想要做的:
在我的工作中,我们构建了一些 pkg 来处理各种数据类型。我正在使用的一个方法是将 csv 文件读入 std_io 对象(std_io 是我们的通用对象类,可以读取任何类型的数据文件)。
我正在尝试将其连接到我正在编写的另一个 pkg,因此我可以在新 pkg 中创建一个对象,并将其转换为 std_io 对象。
问题是,std_io 对象旨在读取实际文件,而不是接收对象。为了解决这个问题,我基本上可以将我的数据写入temp.csv 文件,然后将其读入std_io 对象。
我想知道是否有办法消除编写temp.csv 文件的这一步。
这是我的代码:
x #my object
df = x.to_df() #object class method to convert to a pandas dataframe
df.to_csv('temp.csv') #write data to a csv file
std_io_obj = std_read('temp.csv') #read csv file into a std_io object
有没有办法基本上将写入 csv 文件的输出直接传递到std_read?这有意义吗?
我想这样做的唯一原因是避免必须将附加功能编码到任何一个 pkg 中以直接接受对象作为输入。
希望这很清楚,并感谢任何做出贡献的人。
【问题讨论】:
-
你真的必须给
std_read一个文件名作为参数,或者你可以传递一个文件对象吗? -
我必须传递一个文件名..这让我觉得这可能是不可能的,我可能会用奇怪的措辞
-
df.to_csv()没有文件名? -
我也许可以像这样将 df.to_csv() 字符串传递给 csv.reader? stackoverflow.com/questions/41977519/…