将lisp数据结构导入python

时间:2017-07-19 19:51:27

标签: python pandas lisp

快速旁白所以,我有点像Python的新手;因此,请原谅我不正确的描述方式,如果我没有提供足够的信息,请向我提问。

问我的标题表明,我试图引入一个Lisp数据结构的数据集。我试图从小做起并使用较小的数据集(因为我最终会处理更大的数据集)但是,我不清楚我应该如何设置我的熊猫分隔符

所以,我从一个lisp数据结构中引入一个.dat文件,然后用pandas(或者试图)读取它。 我的目标是尝试让它成为一个普通的数据集,在那里我可以将一个给定的,比较函数与它的'尊重的产出。

My Lisp数据集如下所示:

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

希望这不是太神秘。如果我没有提供足够的信息,请告诉我。 最后,我的目标是拥有所有功能,让我们连续说出并让输出读取跨越 pandas数据帧中的行(因为我已经习惯了);例如:

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

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

修改: 我的具体问题是如何将这种有点模糊的lisp数据结构插入到pandas数据帧中?另外,我不知道如何将我想要的内容修改为所需的行,并且如何分隔它们(delimiter / sep =?)。当我通过熊猫插入这个时,我得到了一个混乱的混乱数据帧。我认为一个关键问题是我如何恰当地分开它们?

2 个答案:

答案 0 :(得分:1)

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

例如,您可以使用同时为http://jsfiddle.net/77tsq/CSV库将它们保存到Lisp的cl-csv文件中。

available on quicklisp可以看到,您可以使用cl-csv tests从您的数据中获取csv字符串:

write-csv-row

或者,如果您想逐行进行,可以使用scipy.misc.imresize功能。

然后很容易保存生成的write-csv function并阅读此string into a file

答案 1 :(得分:0)

如果您的Lisp程序已经太大,请考虑在Hy中重写它。 Hy是Lisp方言,所以你可以继续用Lisp写作。但是,

  

Hy维护其他所有方面,与Python本身在两个方向上100%兼容。

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

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