小编Luc*_*cky的帖子

Pandas to_sql 更改数据库表中的数据类型

有谁之前经历过这个吗?

我有一个带有“int”和“varchar”列的表 - 一个报告计划表。

我正在尝试使用 python 程序将带有“.xls”扩展名的 excel 文件导入到该表中。我正在使用 pandas to_sql 读取 1 行数据。

导入的数据为 1 行 11 列。

导入成功,但导入后我注意到原始表中的数据类型现在已更改为:

        int --> bigint
        char(1) --> varchar(max)
        varchar(30) --> varchar(max)
Run Code Online (Sandbox Code Playgroud)

知道如何防止这种情况吗?数据类型的切换导致下游例程出现问题。

   df = pd.read_excel(schedule_file,sheet_name='Schedule')
   params = urllib.parse.quote_plus(r'DRIVER={SQL Server};SERVER=<<IP>>;DATABASE=<<DB>>;UID=<<UDI>>;PWD=<<PWD>>')
   conn_str = 'mssql+pyodbc:///?odbc_connect={}'.format(params)
   engine = create_engine(conn_str)

   table_name='REPORT_SCHEDULE'
   df.to_sql(name=table_name,con=engine, if_exists='replace',index=False)
Run Code Online (Sandbox Code Playgroud)

TIA

python sql-server pandas

6
推荐指数
1
解决办法
9800
查看次数

标签 统计

pandas ×1

python ×1

sql-server ×1