FFIVE
我认为将其转换为列表结构将是最简单的。我,在以下内容中添加了一个: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]]]]如果它必须是一个数组,请执行以下操作: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]是一个整数数组,但arr[:,1]是一个列表数组。genfromtxt默认情况下,尝试将输入转换为浮点数(它可以转换为nan)。它适用于csv- 一个整齐的字符串数量表,每行具有相同的列数。
守候你守候我
您可以使用Exportwith"JSON"或"PythonExpression"将数据导出到文件。其中任何一个都可以被 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)可以导入和导出多种格式,上面两种是它支持的一些基本格式。通常不需要自定义输出的代码消耗,因为通常有其他平台可以天真地(或有库)读取的可用格式。希望这可以帮助。