【发布时间】:2020-07-20 15:04:12
【问题描述】:
我有一个包含 232 个唯一列的数据框,需要写入 SQL 表。键是传感器数据,看起来像
Index(['DMAnt[-]',
'DMCst[-]',
...
'WRP[%]',
'WRD_S[rpm]'],
dtype='object', length=232)
当我尝试通过 to_sql 函数在 SQL 中创建表时
df_send.to_sql('Sensor_table', con=engine, if_exists='append', index=False)
我收到以下错误:
ProgrammingError: ('42000', "[42000] [Microsoft][ODBC Driver 13 for SQL Server][SQL Server]The identifier that starts with 'DMAnt[-] FLOAT(53) NULL, DMCst[-] FLOAT(53) N' is too long. Maximum length is 128. (103) (SQLExecDirectW)")
这个错误是否因为我有很多列而抱怨查询太长?我该如何解决这个问题?
【问题讨论】:
-
实际上是列名中的方括号弄乱了查询,使它认为我的列名很长。在我删除所有 [] 后,它现在工作正常。无论如何,感谢您的回答,因为您指出了正确的方向
标签: python sql-server pandas dataframe