5

字符串如下所示:

x = '''"High";"10";"Assigned";"2012/06/12 10:11:02"
"Low";"20";"Assigned";"2012/06/12 10:11:02"
"Medium";"30";"Assigned";"2012/06/12 10:11:02"'''

我希望它是这样的:

x = [
[High, 10, Assigned, 2012/06/12 10:11:02],
[Low, 20, Assigned, 2012/06/12 10:11:02],
[Medium, 30, Assigned, 2012/06/12 10:11:02]]

解析这个的最佳方法是什么?

4

3 回答 3

13
>>> import csv
>>> result = [row for row in csv.reader(x.splitlines(), delimiter=';')]
>>> import pprint
>>> pprint.pprint(result)
[['High', '10', 'Assigned', '2012/06/12 10:11:02'],
 ['Low', '20', 'Assigned', '2012/06/12 10:11:02'],
 ['Medium', '30', 'Assigned', '2012/06/12 10:11:02']]
于 2012-06-12T14:14:07.683 回答
0
out = []
for line in x.splitlines():
    out.append( line.split(';') )

或者,在一行中:

out = [line.split(';') for line in x.splitlines()]
于 2012-06-12T14:15:31.957 回答
0

使用列表理解的单线:

[line.split(';') for line in x.replace('"','').split('\n')]

给出:

[['High', '10', 'Assigned', '2012/06/12 10:11:02'],
 ['Low', '20', 'Assigned', '2012/06/12 10:11:02'],
 ['Medium', '30', 'Assigned', '2012/06/12 10:11:02']]

并且也摆脱了"只留下单引号的结果'

于 2012-06-12T14:18:27.553 回答