将lisp数据结构导入python
简单地说,我是Python的新手;因此,请原谅我描述事物的错误方式,如果我没有提供足够的信息,请向我提问 询问我的标题表明,我正在尝试引入一个Lisp数据结构的数据集。我正试图从小处着手,使用更小的数据集,因为我最终将处理更大的数据集。然而,我不清楚应该如何为我的熊猫设置分隔符 所以,我从lisp数据结构中引入了一个.dat文件,并用pandas读取它,或者尝试读取它。 我的目标是尝试让它成为一个普通的数据集,在这里我可以将给定的(比如)函数与其“受尊重的输出”分开 我的Lisp数据集如下所示:将lisp数据结构导入python,python,pandas,lisp,Python,Pandas,Lisp,简单地说,我是Python的新手;因此,请原谅我描述事物的错误方式,如果我没有提供足够的信息,请向我提问 询问我的标题表明,我正在尝试引入一个Lisp数据结构的数据集。我正试图从小处着手,使用更小的数据集,因为我最终将处理更大的数据集。然而,我不清楚应该如何为我的熊猫设置分隔符 所以,我从lisp数据结构中引入了一个.dat文件,并用pandas读取它,或者尝试读取它。 我的目标是尝试让它成为一个普通的数据集,在这里我可以将给定的(比如)函数与其“受尊重的输出”分开 我的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数据结构插入到pandas数据框架中?此外,我不知道如何将我想要的内容修改到它们所需的行中,以及如何将它们分隔开delimiter/sep=?。当我通过pandas插入它时,我得到一个非常混乱的数据帧。我认为一个关键问题是如何适当地将它们分开?正如@molbdnilo和@sds所指出的,以通用格式从lisp导出数据,然后使用现有的解析器在Python中导入数据可能更容易 例如,您可以将它们保存到Lisp中的文件中,使用同样可用的库 从中可以看到,您可以使用以下命令从数据中获取csv字符串: 或者,如果要逐行进行,可以使用write csv row函数
然后将很容易保存结果并阅读此。
如果LISP程序不是太大,考虑重写它。Hy是一种Lisp方言,所以你可以继续用Lisp书写。而且
Hy在两个方向上都与Python本身保持100%的兼容性 这意味着您可以在编写Hy时使用Python库,并且可以在Hy中编写一个模块以在Python中使用我不知道你的项目是如何设置的,我也不知道熊猫,但也许你可以用它直接与熊猫沟通?你的问题是?你的问题不清楚。然而,由于您显然希望将数据加载到熊猫中,答案可能是,。谢谢您的回复!我添加了一个带有更具体问题的编辑。希望这能有所帮助。再次感谢你的帮助!即使只需要处理一些特殊情况,编写一个以适当格式写入数据的小型Lisp程序可能比编写Lisp解析器更容易。这很有意义。感谢您的澄清和指导!我马上就要试一试了!非常有帮助!非常感谢。
(write-csv *your-data-rows* :always-quote t)