我有一个带“;”的csv文件信息看起来像的分隔符,
Id;arrVal
0;[[84, 109, 423, 466]]
1;[[242, 192, 822, 594], [242, 640, 818, 911]]
2;[[123, 212, 401, 351]]
我正在读取csv文件,并希望通过使用以下代码来获取特定ID的数组
df = pd.read_csv("path/to/csv/file.csv", sep=";")
df[df['Id']==1].iloc[0]['arrVal']
它给我值[[242, 192, 822, 594], [242, 640, 818, 911]]
,但是是字符串。如何提取为2D数组?
答案 0 :(得分:3)
该列也是有效的JSON语法,因此您可以使用:
import pandas as pd
import json
df = pd.read_csv('input.csv',sep=';')
L = json.loads(df[df['Id']==1].iloc[0]['arrVal'])
答案 1 :(得分:2)
x = ast.literal_eval(df[df['Id']==1].iloc[0]['arrVal'])