2017-07-19 35 views
0

快速除了所以,我有点与Python新秀的;因此原谅我的描述事物的方式不正确问我的问题,如果我不提供足够的信息。导入口齿不清的数据结构到蟒蛇

问问我的标题所示,我试图在一个数据集是Lisp的数据结构带来。我试图从小规模开始并使用更小的数据集(因为我将最终处理更大的数据集)但是,我不清楚如何为我的熊猫设置我的分隔符

所以,我带来从口齿不清的数据结构中的.dat文件,并与大熊猫阅读它(或尝试)。 我的目标,是尽量把它是一个正常的数据集,在那里我可以单独给定的,说功能,其尊敬的输出。

我Lisp的数据集如下所示:

(setf nameoffile?' 
((function-1 output1) (function-2 output2 output3 output4) (function-3 output5 output 6 output7...) 
(function-4 output) 
... 
(function-N outputN outputM ...))) 

但愿这不是太神秘。请告诉我,如果我没有提供足够的信息。 最后,我的目标是拥有所有的功能,可以说连续读取这一行的熊猫数据框(因为我习惯了);例如:

function-1: output1 
function-2: output2 and so on and so forth... 

再次,请让我知道如果我有点困惑,或没有提供足够的信息。 非常感谢你提前!

编辑: 我的具体问题是如何将这个有点模糊的lisp数据结构插入熊猫数据框?另外,我不知道如何修改我想要的东西到他们需要的行和如何将它们分开(分隔符/月=?)。当我通过熊猫插入时,我得到一个非常混乱的数据框。我认为一个关键问题是如何恰当地分开它们?

+1

而你的问题是? – Renzo

+1

你的问题不清楚。但是,由于您_apparently_想要将**数据**加载到** pandas **中,因此答案是_probably_,[CSV](https://pandas.pydata.org/pandas-docs/stable/generated/ pandas.read_csv.html)。 – sds

+0

感谢您的回复! 我添加了一个更具体的问题。希望有帮助。再次感谢您的帮助! – cross12tamu

回答

0

如果您的Lisp程序不是太大,请考虑在Hy中重写它。 Hy是一个Lisp方言,所以你可以继续在Lisp中写作。而且,

Hy在所有其他方面都保持着与Python本身在两个方向上的100%兼容性。

这意味着您可以在编写Hy时使用Python库,并且您可以在Hy中编写一个模块以便在Python中使用。

我不知道你的项目是如何设置的(我不知道熊猫),但也许你可以用它直接与熊猫进行沟通?

+0

超级有用!谢谢! – cross12tamu

1

正如@molbdnilo和@sds所指出的那样,使用通用格式从lisp导出数据并使用现有解析器将它们导入到Python中可能更容易。

例如,您可以使用cl-csv库(也是available on quicklisp)将它们保存为来自Lisp的CSV文件。

你可以从cl-csv tests看到,你可以使用write-csv function得到你的数据为csv字符串:

(write-csv *your-data-rows* :always-quote t) 

或者,如果你想继续,行由行,你可以使用write-csv-row功能。

然后将很容易保存结果string into a file并阅读此CSV from Python

+0

这很有意义。感谢您的澄清和指导!我会一点点地给它一个旋转! – cross12tamu