2017-07-19 37 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