Python-将字符串转换为对象或数组

时间:2019-06-18 07:58:00

标签: python arrays json python-3.x object

我将下面的数据存储在具有类字符串的变量alb.ingress.kubernetes.io/target-group-attributes: stickiness.enabled=true,stickiness.lb_cookie.duration_seconds=60中。

data_str

每次我访问 level page_num block_num par_num line_num word_num left top width height conf text 1 1 0 0 0 0 0 0 500 659 -1 2 1 1 0 0 0 35 41 422 560 -1 3 1 1 1 0 0 44 41 406 203 -1 4 1 1 1 1 0 98 41 341 10 -1 5 1 1 1 1 1 98 42 31 8 70 ‘When 5 1 1 1 1 2 135 42 17 8 75 Dr. 5 1 1 1 1 3 160 41 32 9 92 Umali 5 1 1 1 1 4 197 44 25 6 96 rose 5 1 1 1 1 5 227 42 11 8 96 to 5 1 1 1 1 6 243 41 17 9 93 the 5 1 1 1 1 7 265 41 52 10 91 deanship 5 1 1 1 1 8 322 41 11 9 96 of 5 1 1 1 1 9 337 41 18 8 96 the 5 1 1 1 1 10 361 41 27 9 80 U.P. 5 1 1 1 1 11 394 41 45 10 85 College 时都会返回data_str[0]。我想访问第一行及其每个单元格元素。换句话说,我想将其作为一个对象,以便可以轻松访问它的每个单元格。我将如何在Python中做到这一点?请帮忙。

2 个答案:

答案 0 :(得分:2)

如果存储在字符串中,

cells = data_str.split('\n')[1].split('\s') # first line in list

# all lines
lines = [line.split() for line in data_str.split('\n')]

或使用csv lib处理整个字符串:

from io import StringIO # Python 3
import csv

f = StringIO(data_str)
reader = csv.reader(f, delimiter='\s')

lines = [row for row in reader]
# first line
cells = lines[1]

答案 1 :(得分:1)

字符串是python中的数组,因此data_str[0]意味着将字符放在位置0,即l

因此您可以:

  • 按行拆分字符串以检索行列表。
  • 对于每一行,将其拆分以获取每一行的项目。

类似这样的东西

rows = data_str.splitlines()
arr = [row.split() for row in rows]
# now you can access item at row 1, column 2 like arr[1][2]