Por qué el objeto, del cual leí un archivo csv usando pandas, es el objeto TextFileReader

Leí un archivo csv usando pandas:

data_raw = pd.read_csv(filename, chunksize=chunksize) print(data_raw['id']) 

Luego, informa TypeError:

 Traceback (most recent call last): File "", line 1, in  TypeError: 'TextFileReader' object has no attribute '__getitem__' 

¿Qué puedo hacer para resolver el problema? ¿Y cómo puedo cambiar el data_raw en un objeto dataFrame? Yo uso el python2.7 y pandas v0.19.1

Una forma de solucionar este problema es establecer el parámetro nrows en la función pd.read_csv() y de esa manera seleccionar el subconjunto de datos que desea cargar en el dataframe. Por supuesto, el inconveniente es que no podrá ver y trabajar con el conjunto de datos completo. Ejemplo de código:

 data = pd.read_csv(filename, nrows=100000) 

Cuando pasa la opción chunksize a read_csv() , crea un lector TextFileReader , un objeto similar a un archivo abierto que se puede usar para leer el archivo original en trozos. Vea el ejemplo de uso aquí: Cómo leer un archivo csv de 6 GB con pandas Cuando no se proporciona esta opción, la función lee el contenido del archivo.