2 回答

TA貢獻1797條經(jīng)驗 獲得超6個贊
我認(rèn)為將其轉(zhuǎn)換為列表結(jié)構(gòu)將是最簡單的。
我,在以下內(nèi)容中添加了一個:
In [22]: astr=""" {
...: {-9,{{4,2},{5,6},{8,10}}},
...: {-2,{{3,6},{6,1}}},
...: {4,{{3,6},{6,1},{3,6},{6,1},{3,6},{6,1},{3,6},{6,1}}}
...: }"""
In [23]: astr1=astr.replace('{','[').replace('}',']').replace('\n','')
In [24]: astr1
Out[24]: ' [ [-9,[[4,2],[5,6],[8,10]]], [-2,[[3,6],[6,1]]], [4,[[3,6],[6,1],[3,6],[6,1],[3,6],[6,1],[3,6],[6,1]]] ]'
是各種字符串評估器。 eval始終可用。 ast更安全一些。json.loads(astr1)也有效。
In [25]: alist= eval(astr1)
In [26]: alist
Out[26]:
[[-9, [[4, 2], [5, 6], [8, 10]]],
[-2, [[3, 6], [6, 1]]],
[4, [[3, 6], [6, 1], [3, 6], [6, 1], [3, 6], [6, 1], [3, 6], [6, 1]]]]
如果它必須是一個數(shù)組,請執(zhí)行以下操作:
In [27]: arr = np.array(alist)
In [28]: arr
Out[28]:
array([[-9, list([[4, 2], [5, 6], [8, 10]])],
[-2, list([[3, 6], [6, 1]])],
[4,
list([[3, 6], [6, 1], [3, 6], [6, 1], [3, 6], [6, 1], [3, 6], [6, 1]])]],
dtype=object)
這是 (3,2)。 arr[:,0]是一個整數(shù)數(shù)組,但arr[:,1]是一個列表數(shù)組。
genfromtxt默認(rèn)情況下,嘗試將輸入轉(zhuǎn)換為浮點數(shù)(它可以轉(zhuǎn)換為nan)。它適用于csv- 一個整齊的字符串?dāng)?shù)量表,每行具有相同的列數(shù)。

TA貢獻1802條經(jīng)驗 獲得超10個贊
您可以使用Exportwith"JSON"或"PythonExpression"將數(shù)據(jù)導(dǎo)出到文件。其中任何一個都可以被 Python 直接讀取。
下面我用它ExportString來演示。
和
x =
{
{-9, {{4, 2}, {5, 6}, {8, 10}}},
{-2, {{3, 6}, {6, 1}}},
{4, {{3, 6}, {6, 1}, {3, 6}, {6, 1}, {3, 6}, {6, 1}, {3, 6}, {6, 1}}}
};
然后
ExportString[x, "JSON", "Compact" -> True]
[[-9,[[4,2],[5,6],[8,10]]],[-2,[[3,6],[6,1]]],[4,[[3,6],[6,1],[3,6],[6,1],[3,6],[6,1],[3,6],[6,1]]]]
或者
ExportString[x, "PythonExpression"]
[[-9, [[4, 2], [5, 6], [8, 10]]], [-2, [[3, 6], [6, 1]]], [4, [[3, 6], [6, 1], [3, 6], [6, 1], [3, 6], [6, 1], [3, 6], [6, 1]]]]
Wolfram 語言(又名 Mathematica)可以導(dǎo)入和導(dǎo)出多種格式,上面兩種是它支持的一些基本格式。通常不需要自定義輸出的代碼消耗,因為通常有其他平臺可以天真地(或有庫)讀取的可用格式。
希望這可以幫助。
添加回答
舉報