iT邦幫忙

1

python yaml 讀array

yaml檔裡面長這樣

id:0
array:[[1,1],[1,1],[1,1],[1,1]]

我想要他輸出
[[1,1],[1,1],[1,1],[1,1]]

我參考網路上的答案

with open('data.yaml', 'r') as f:
    data = yaml.load(f)
    print(data['array'])

然後就錯誤:

TypeError:list indices must be intergers or slices,not str
其他人的data都是dict,我的是list? 讀的方式都一樣

圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

1 個回答

2
hokou
iT邦好手 1 級 ‧ 2021-10-26 10:39:36
最佳解答

把 YAML 改這樣試試看

修改的

id: 0
array: [[1,1],[1,1],[1,1],[1,1]]
print(data)
# 輸出為 dict
{'id': 0, 'array': [[1, 1], [1, 1], [1, 1], [1, 1]]}

差別在 : 之後有空格

原本的

id:0
array:[[1,1],[1,1],[1,1],[1,1]]
print(data)
# 輸出為 string
id:0 array:[[1,1],[1,1],[1,1],[1,1]]

我要發表回答

立即登入回答