如何使用python

时间:2018-10-11 21:30:41

标签: python arrays csv

我有一个带“;”的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数组?

2 个答案:

答案 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)

使用ast.literal_eval

x = ast.literal_eval(df[df['Id']==1].iloc[0]['arrVal'])