Tengo un archivo csv con 3 columnas, en el que cada fila de la Columna 3 tiene una lista de valores. Como puede ver en la siguiente estructura de la tabla
Col1,Col2,Col3
1,a1,"['Proj1', 'Proj2']"
2,a2,"['Proj3', 'Proj2']"
3,a3,"['Proj4', 'Proj1']"
4,a4,"['Proj3', 'Proj4']"
5,a5,"['Proj5', 'Proj2']"
Cada vez que trato de leer este csv, Col3 se lee como un objeto str y no como una lista. Traté de modificar el tipo de esa columna para que aparezca en la lista, pero obtuve “Error de atributo” como se muestra a continuación
df = pd.read_csv("inputfile.csv")
df.Col3.dtype = list
AttributeError Traceback (most recent call last)
<ipython-input-19-6f9ec76b1b30> in <module>()
----> 1 df.Col3.dtype = list
C:\Python27\lib\site-packages\pandas\core\generic.pyc in __setattr__(self, name, value)
1953 object.__setattr__(self, name, value)
1954 except (AttributeError, TypeError):
-> 1955 object.__setattr__(self, name, value)
1956
1957 #----------------------------------------------------------------------
AttributeError: no se puede establecer el atributo
Sería muy bueno si me puede orientar sobre cómo hacerlo.
¿Puede mostrarnos un ejemplo de su csv (no como una imagen), copie y pegue las primeras filas de su csv?
– Anand S. Kumar
23 de septiembre de 2015 a las 15:04
Advertencia estándar: los valores no escalares no son realmente compatibles con pandas. Puede usarlos, ya que a veces son útiles en pasos intermedios, pero trabajar con ellos es un inconveniente y eso no va a cambiar en el futuro cercano.
– DSM
23 de septiembre de 2015 a las 15:07
¿Qué quieres hacer con los valores?
– Padraic Cunningham
23 de septiembre de 2015 a las 15:07
@AnandSKumar Copiar valores pegados de mi csv
– nachiappanpl
23 de septiembre de 2015 a las 15:13
@PadraicCunningham No, el valor final será una cadena. Ilustración de muestra de PFB de mi requisito Fila de entrada: 1, a1,”[‘Proj1’, ‘Proj2’]” Filas de salida: 1,a1,”Proj1″ 1,a1,”Proy2″
– nachiappanpl
24 de septiembre de 2015 a las 9:07