KeyError al indexar el dataframe de Pandas

Estoy tratando de leer los datos de un archivo csv en un dataframe de pandas, y acceder a la primera columna ‘Fecha’

import pandas as pd df_ticks=pd.read_csv('values.csv', delimiter=',') print(df_ticks.columns) df_ticks['Date'] 

produce el siguiente resultado

 Index([u'Date', u'Open', u'High', u'Low', u'Close', u'Volume'], dtype='object') KeyError: u'no item named Date' 

Si bash acceder a cualquier otra columna como ‘Abrir’ o ‘Volumen’ está funcionando como se esperaba

Lo más probable es que tenga un carácter adicional al principio de su archivo, que se adjunta a su primer nombre de columna, 'Date' . Simplemente copie / pegue su salida a una consola que no sea unicode produce.

 Index([u'?Date', u'Open', u'High', u'Low', u'Close', u'Volume'], dtype='object') 

Como lo mencionó alko, es probable que sea un carácter adicional al principio de su archivo. Al usar read_csv , puede especificar la encoding para tratar la encoding y el carácter del encabezado, conocido como BOM (marca de orden de bytes)

 df = pd.read_csv('values.csv', delimiter=',', encoding="utf-8-sig") 

Esta pregunta encuentra algunos ecos en Stackoverflow: Pandas parece ignorar el nombre de la primera columna al leer datos delimitados por tabuladores, da KeyError