La cadena se ve así:
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"'''
Quiero que sea así:
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]]
¿Cuál es la mejor manera de analizar esto?
>>> 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']]
out = [] for line in x.splitlines(): out.append( line.split(';') )
O, en una línea:
out = [line.split(';') for line in x.splitlines()]
Una sola línea usando la comprensión de la lista :
[line.split(';') for line in x.replace('"','').split('\n')]
da:
[['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']]
y también se deshace de "
en el resultado dejando solo las comillas simples '