【问题标题】:Python: How to split text into multidimensional arrayPython:如何将文本拆分为多维数组
【发布时间】:2022-01-03 14:45:09
【问题描述】:

我正在从网页中获取数据,最后有 5 个字符串如下所示:

  charts[1]['min']    = [['Mi',5.6],['Do',2.9],['Fr',1.7],['Sa',3.7],['So',2.9],['Mo',4.1],['Di',4]];
  charts[1]['mittel'] = [['Mi',6.2],['Do',5.4],['Fr',3.9],['Sa',4.5],['So',4.7],['Mo',5.4],['Di',4.6]];
  charts[1]['max']    = [['Mi',7.2],['Do',8.8],['Fr',5.9],['Sa',5.5],['So',6.8],['Mo',6.6],['Di',5.8]];
  charts[2]['line']   = [['Mi',59],['Do',69],['Fr',72],['Sa',65],['So',66],['Mo',65],['Di',76]];
  charts[3]['line']   = [['Mi',5],['Do',4],['Fr',0],['Sa',5],['So',0],['Mo',5],['Di',0]];

显然我需要一个只包含正确部分的数组。数据始终是一天(德语)和一个数字。 Python 新手,我正在寻找一个简单的解决方案。有什么想法吗?

【问题讨论】:

  • 数据结构不清楚。每一行都是一个字符串? str1 = "charts... = ..."?
  • 只有=之后的部分是数据
  • 但它看起来已经是一个二维数组了
  • @Mahrkeenerh。是的,但它似乎是 javascript 的一个片段?
  • @Corralien 你为什么会这么认为?

标签: python string multidimensional-array


【解决方案1】:

IIUC:

import ast

str1 = "charts[1]['min']    = [['Mi',5.6],['Do',2.9],['Fr',1.7],['Sa',3.7],['So',2.9],['Mo',4.1],['Di',4]];"

arr1 = ast.literal_eval(str1.split('=')[1].strip()[:-1])
print(arr1)

# Output:
[['Mi', 5.6],
 ['Do', 2.9],
 ['Fr', 1.7],
 ['Sa', 3.7],
 ['So', 2.9],
 ['Mo', 4.1],
 ['Di', 4]]

【讨论】:

    猜你喜欢
    • 2013-05-04
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-04-08
    • 1970-01-01
    相关资源
    最近更新 更多