df.to_sql不工作[HY04]无效的sql数据类型(0)(SQLBindParameter)

2024-09-30 04:39:55 发布

您现在位置:Python中文网/ 问答频道 /正文

我对Python是相当陌生的,至少对这类问题是这样,并且已经为此奋斗了好几天了

我使用df.to_sql已经有相当一段时间了,并且使用了很多不同的数据帧,但是现在遇到了以下问题/错误:

DBAPIError: (pyodbc.Error) ('HY004', '[HY004] [Microsoft][ODBC SQL Server Driver]Invalid SQL data type (0) (SQLBindParameter)')

我的代码如下所示:

**pyodbc.pooling = False
params = urllib.parse.quote_plus("Driver={SQL Server};Server=[ServerName];Database=DatabaseName")
engine = create_engine("mssql+pyodbc:///?odbc_connect=%s" % params)**

df.to_sql('Table_Name', 
        con = engine,
            if_exists='replace')

我已经将代码用于许多不同的数据帧,但不知道这个特定的数据发生了什么变化?它来自一个JSON文件,我已将其展平

有什么想法吗,关于这可能是什么原因

我没有使用Linux或任何东西

我的数据框架如下所示:

       eventId
0      97592224      3361    1609  2086192          1H     0.491250        8   
1      97592225     49876    1609  2086192          1H     3.649639        8   
2      97592168     14853    1631  2086192          1H     5.356103        8   
3      97592169      8730    1631  2086192          1H     8.653246        8   
4      97592170     14763    1631  2086192          1H    10.219569        8   
...         ...       ...     ...      ...         ...          ...      ...   
1667  586886958     14870    1612  2086209          2H  2915.347568        2   
1668  586886947      8292    1624  2086209          2H  2924.483590        3   
1669  586886948    269676    1624  2086209          2H  2926.881486        1   
1670  586886959     25393    1612  2086209          2H  2927.766165        1   
1671  586886949     13484    1624  2086209          2H  2929.858276        8   
      eventName  subEventId subEventName  positions.0.x  positions.0.y
0          Pass          85  Simple pass             51             51   
1          Pass          83    High pass             35             48   
2          Pass          85  Simple pass             39             12   
3          Pass          83    High pass             34             23   
4          Pass          82    Head pass             65             24   
...         ...         ...          ...            ...            ...   
1667       Foul          24      Protest             37             90   
1668  Free Kick          36     Throw in             64              0   
1669       Duel          10     Air duel             77             23   
1670       Duel          10     Air duel             23             77   
1671       Pass          83    High pass             74             27   
      positions.1.x  positions.1.y  tags.0.id  tags.1.id  tags.2.id tags
0              35.0           48.0     1801.0        NaN        NaN  NaN   
1              61.0           88.0     1802.0        NaN        NaN  NaN   
2              34.0           23.0     1801.0        NaN        NaN  NaN   
3              65.0           24.0     1801.0        NaN        NaN  NaN   
4              85.0           22.0     1801.0        NaN        NaN  NaN   
...             ...            ...        ...        ...        ...  ...   
1667            NaN            NaN     1702.0        NaN        NaN  NaN   
1668           77.0           23.0     1801.0        NaN        NaN  NaN   
1669           74.0           27.0      701.0     1802.0        NaN  NaN   
1670           26.0           73.0      703.0     1801.0        NaN  NaN   
1671            NaN            NaN     1802.0        NaN        NaN  NaN 

编辑:

可以使用以下链接下载数据帧:https://drive.google.com/file/d/1r_zpj-24Unb9XXyYlVNwBkMU_YaKC2ll/view?usp=sharing


Tags: to数据iddfsqlserverdriverpass

热门问题