问题标签 [pandas-to-sql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
395 浏览

python - 使用 pandas to_sql 时如何在 SQL SERVER 表列名中转义“(”?

我在使用 pandas to_sql 将数据输入到我的 SQL SERVER 数据库时遇到以下错误:

错误:

(pymssql.ProgrammingError) (102, b"'('.DB-Lib 错误消息 20018,严重性 15:\n一般 SQL Server 错误:检查来自 SQL Server 的消息\n")

代码:

表结构:

注意: 我觉得错误是因为列名中的“(”。但我无法从数据库中的列名中删除它。

欢迎任何其他答案/建议。提前谢谢。

0 投票
1 回答
1241 浏览

python - pandas to_sql 只将第一行写入数据库

我正在使用下面的代码将制表符分隔的文件读入 postgres 数据库

打印调用返回我期望的数据帧(即[798624行x 133列])并且对to_sql的调用没有失败,但是在数据库中我只看到一行数据具有正确的列......(相同如果表之前已创建,则结果)

0 投票
0 回答
313 浏览

sql-server - 将数据框上传到具有特定数据类型的数据库中已创建的表

1 - 我有一个数据框pandasms sql带有主键和特定列类型的表。通过 建立与数据的连接sqlalchemy。当我使用to_sql方法上传数据框时if_exists='replace',数据已上传,但所有主键和列数据类型都丢失了。一切都变成varchar(max)了,这是我不想要的。当我使用if_exists='append'时,jupyter notebook 崩溃了。我确保 int 类型int8在数据框中,因为我tinyint在 ms sql 中使用,但这也没有解决问题。

2 - 我们如何使用 pandasto_sql方法将数据上传到具有特定列类型的新表中?那么我们如何指定tinyint、smallint、主键等呢?

我使用 pandas 0.22 版和 anaconda 5.1(截至 2018 年 2 月的最新版本)

0 投票
3 回答
2514 浏览

python - Pandas 使用 df.to_sql() 将块写入数据库时​​出错

现有数据库和预期结果:

我有一个更大的 SQLite 数据库(12gb,超过 4400 万行的表),我想在 Python3 中使用 Pandas 对其进行修改。

示例目标:我希望将这些大表中的一个(4400 万行)以块的形式读入 DF,操作 DF 块,并将结果写入新表。如果可能的话,如果新表存在,我想替换它,并将每个块附加到它。

因为我的操作只添加或修改列,所以新表应该与原始表具有相同的行数。

问题:

主要问题似乎源于以下代码中的以下行:

df.to_sql(new_table, con=db, if_exists = "append", index=False)

  1. 当在下面的代码中运行这一行时,我似乎一直得到一个额外的 size=N 块,加上一个比我预期的观察结果。
  2. 此代码第一次使用新表名运行时,出现错误:
  1. 如果我然后重新运行脚本,使用相同的新表名,它将为每个块运行,以及一个额外的块,+1 行。

  2. 当该df.to_sql()行被注释掉时,循环运行预期的块数。

带有完整代码的问题测试示例:

完整代码:example.py

1. 结果当 #df.to_sql(new_table, con=db, if_exists = "append", index=False)

(问题行已注释掉):

我期望这是因为示例代码将我的大表限制为 10k 行。

2. 结果当 df.to_sql(new_table, con=db, if_exists = "append", index=False)

一个。问题行没有被注释掉

湾。这是第一次使用 new_table 运行代码:

3. 结果当 df.to_sql(new_table, con=db, if_exists = "append", index=False)

一个。问题行没有被注释掉

湾。上面的代码使用 new_table第二次运行:

因此,我首先遇到的问题是第一次运行时代码中断(结果 2),其次,第二次运行时的总行数(结果 3)是我预期的两倍多。

任何有关如何解决此问题的建议将不胜感激。

0 投票
1 回答
3354 浏览

python - to_sql 错误:描述期间的未知对象类型 numpy.ndarray

我正在尝试将数据框插入到 sql 表中,但出现以下错误

ProgrammingError: (pyodbc.ProgrammingError) ('Unknown object type numpy.ndarray during describe', 'HY000')

对于以下代码

这是数据框的 .head

monthenddate lastweekday 项目 sols 值

0 1999-12-31 1999-12-31 值 2W063W1 -0.870225

1 1999-12-31 1999-12-31 值 W1YBRK4 0.078154

2 1999-12-31 1999-12-31 值 X16W902 -0.072731

3 1999-12-31 1999-12-31 值 2X45X4W 1.278582

4 1999-12-31 1999-12-31 值 23X1XWX 0.293649

我已经尝试了很多,但无法找出问题的原因。

0 投票
2 回答
1334 浏览

python - 具有不同模式的python数据框to_sql

我想将数据框存储到现有的 MSSQL 表中。Dataframe 有 3 列,但 SQL 表只有 2 列。

如何将具有相同名称的 2 列存储到 SQL 中?

我尝试了以下代码:

如果列的数量和名称完全相同,它就可以工作。但我想让我的代码更通用。

0 投票
1 回答
804 浏览

python - 使用 to_sql 函数时出错

我正在使用以下代码将数据从 SQL 提取到数据框中,并且工作正常。

但是当我添加这一行时

将数据发送回服务器我收到一条错误消息

我尝试了多种解决方案,但无法使其正常工作。

0 投票
1 回答
776 浏览

python - 如何将dataFrame中的数据加载到mssql表中

我有数据要加载到 DataFrame 中,当我循环遍历 DF 中的每一行时,我可以使用连接字符串将数据插入表中(使用 INSERT INTO .. 语句一次插入 1 行),但我想使用<DataFrame>.to_sql("<Table_name>", engine, if_exists='append')

请帮助我了解我是否遗漏了什么?

但我不断收到此错误


0 投票
2 回答
2327 浏览

python - MySQLdb:Pandas 数据框到 SQL 数据库错误:字符串格式化期间并非所有参数都转换

所以,我想将数据框移动到数据库中,但我遇到了一些问题。我使用 pandas 库制作了数据框,并希望将数据上传到我的数据库中的表中。

我的代码的相关片段和错误详细信息如下:

错误详情:

0 投票
1 回答
836 浏览

python - Pandas to_sql 向 db 表发送额外的空白行

我正在将 csv 文件读入数据帧并将其写入 sqlite db 表并收到此警告:

dtype=dtype)

数据为 762 行,我在脚本开始时和将文件写入 db 表的行之前已确认:

当我查看数据库时,有 915 行,最后 153 行都是 Null。

我只是在学习python,想不出任何原因。关于使用 pandas to_sql 添加其他行的谷歌搜索没有出现任何结果。

有任何想法吗?