DF's schema returned by pandas.io.gbq.generate_bq_schema(df):

{'fields': [
{'type': 'TIMESTAMP', 'name': 'field1'}, 
{'type': 'STRING', 'name': 'field2'}, 
{'type': 'FLOAT', 'name': 'field3'}, 
{'type': 'STRING', 'name': 'field4'},
{'type': 'FLOAT', 'name': 'field5'},
{'type': 'STRING', 'name': 'field6'}, 
{'type': 'FLOAT', 'name': 'field7'}, 
{'type': 'STRING', 'name': 'field8'},
{'type': 'STRING', 'name': 'field9'}]}

Schema from BQ CLI:

|- field1: timestamp
|- field2: string
|- field3: float
|- field4: string
|- field5: float
|- field6: string
|- field7: float
|- field8: string
|- field9: string

to_gbq(df,"dataset.table","project",if_exists="append",private_key=service_key_path) Throws:

Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/lib/python2.7/site-packages/pandas/io/gbq.py", line 827, in to_gbq
    raise InvalidSchema("Please verify that the structure and "
pandas.io.gbq.InvalidSchema: Please verify that the structure and data types in the DataFrame match the schema of the destination table.

Comment From: jorisvandenbossche

@mremes Thanks for the report! We are in the process of moving the gbq functionality into its own repo, would you mind to resubmit your issue over there? https://github.com/pydata/pandas-gbq

Comment From: ghost

Sure. I'd like to make a pull request for this problem. I'm thinking about making it here because I guess pandas gbq functionality is still used mainly through this package?

Comment From: jreback

closing in favor of pandas-gbq issue as above.

Comment From: jorisvandenbossche

@mremes I see you already opened a PR at pandas-gqb, so indeed, that's where the code will be developed from now on, not in pandas anymore.