PostgreSQL exige que les noms de table/colonne en majuscule soient entre guillemets (référence ). C'est pourquoi les identifiants dans le SQL construit par SQLalchemy sont entre guillemets. Pour éviter cela, convertissez les noms de colonne du dataframe en minuscules :
with open(join(dataPath, file), 'rb') as f:
data = xport.to_dataframe(f)
data.columns = map(str.lower, data.columns)
data.to_sql(name.lower(), engine, schema='y2007')