问题标签 [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 投票
1 回答
175 浏览

python - 如何将熊猫数据框插入包含列表的列的表中

我有一个熊猫数据框,其中一列包含列表格式 tield(即 [2ndchance])

我想按原样将其插入数据库中,但出现错误。

我正在执行以下句子:

它失败并出现以下错误:

ProgrammingError: (mysql.connector.errors.ProgrammingError) 处理pyformat-parameters失败;Python 'list' 无法转换为 MySQL 类型 [SQL: 'INSERT INTO playbyplay

我想将它按原样添加到表中,如果不可能只是想从我的数据框中删除它,但无论我执行什么似乎总是将它识别为一个列表,而最初只是一个字符串。

0 投票
0 回答
436 浏览

python - Python.Dataframe 到 MySql:MySQL 服务器已经消失

我正在尝试在 mysql 中编写几个数据帧。我使用mysql.connector进行连接,使用sqlalchemy创建引擎。

大多数数据帧都正确写入数据库。不幸的是,应用程序停止并出现以下错误:

由于断开连接的数据帧也是最大的数据帧(pickle 文件:198MB),我认为这是由于MySql-Server 设置 max_allowed_pa​​cket 或 timeout造成的。(如此处所述

所以我通过'connect_timeout'扩展了我的SQLConnector(见下文)中的配置文件:900。不幸的是没有结果。我还读到您应该调整 MySql 服务器的 my.cnf。不幸的是,我不知道在哪里可以找到它们。经过长时间的搜索,我找到了以下顺序。C:\Program Files\MySQL\MySQL Server 8.0\etc 和文件 mysqlrouter.conf.sample。 这里我下载了一个 my.cnf 文件并将其放入文件夹中。不幸的是没有结果,因为我不知道如何设置 MySql 以便服务器使用这个文件。

有谁知道我该如何解决这个错误?或者我如何配置 MySql Server 首选项设置 max_allowed_pa​​cket 或超时?

主要的:

SQL连接器:

0 投票
2 回答
3707 浏览

python - How to use pandas.to_sql but only add row if row doesn't exist yet

I have some experience with python but very new to the SQL thing and trying to use pandas.to_sql to add table data into my database, but when I add I want it to check if the data exists before append

This are my 2 dataframes

So here I use the pandas to_sql

Here I check my data inside the database file

But I want my database to look like this, so I don't want to add the duplicate data to my database

Is there any option I can set or some line of code to add to make this happend?

Thankyou!

edit: There are some SQL code to only pull unique data, but what I want to do is don't add the data to the database in the first place

0 投票
1 回答
713 浏览

python - Pandas:Python TO_SQL 函数插入的记录数

我正在使用 Pythonto_sql函数将数据从 Pandas 数据框中插入到数据库表中。

我能够在数据库表中插入数据,但我想知道在我的代码中插入了多少条记录。如何知道插入的记录数(我不想再写一个查询来访问数据库表来获取记录数)?

另外,有没有办法查看这个函数执行的日志。比如执行了哪些查询等。

0 投票
0 回答
284 浏览

python-3.x - 如何忽略 Dataframe to_sql 方法中的错误

我正在使用 Pandas DataFrame.to_SQL() 将数据从数据框插入到表中。如果即使单个记录也存在加载问题,也不会加载任何内容,例如:如果整数列在一行中有字符数据,或者日期格式在一条记录中无效等。

如何忽略这些错误?我想至少加载有效的数据,而不是在这种情况下根本不加载任何东西。

0 投票
1 回答
1048 浏览

sql-server - 使用 pandas to_sql 将数据框附加到 sql server 中的现有表会产生 IntegrityError

我试图将我的 pandas 数据框附加到 sql server 中的现有数据表中,如下所示。我在数据中的所有列名都与数据库表完全相同。

但它失败了,我收到如下错误:

我不知道这意味着什么以及我应该怎么做才能让它发挥作用。看起来问题是IDENTITY_INSERT is set to OFF?感谢是否有人可以帮助我理解为什么以及我可以做什么。谢谢。

0 投票
1 回答
706 浏览

python - 大型 Dask/Pandas 数据帧(27M 行 x 52 列).to_csv 或 .to_sql MemoryError

长话短说,我一直在努力解决内存问题(以及执行时间)dask/pandas编写大型数据框to_sql,或者to_csv是否有人可以指出我正确的方向(下面有更多详细信息)?

我将两个大的 .csv 文件附加在一起以形成一个更大的 .csv 文件(27M 行 x 52 列),dask以便节省内存而不是使用pandas,因为我的内存不足或接近它。

从那里,我只是试图写入 a .csv,但我再次耗尽内存,试图用于.compute()从 dask 数据帧转换为 pandas 数据帧并写入文件。我想把这个问题集中在如何简单地将这个东西放入 .csv 而不会耗尽内存。从那里,我计划使用 SQL Server 的导入向导将文件导入数据库中的新表。请参阅下面的代码,了解我如何读取和concat'ing 作为 dask 数据帧,转换为 pandas 数据帧,然后在内存不足之前尝试写入 .csv:

在观看 python 接近 38 GB 的已提交物理内存后,我在第四行或第五行遇到内存错误:

在任何人提到它之前,我也孜孜不倦地尝试过to_sql,但没有成功,因为最终目标是将这些数据放入 SQL Sever 数据库中。它一直持续下去,我遇到了sqlalchemy's 的内存错误to_sql。更好的是,我希望我可以直接写入 SQL Server,这就是我尝试过的:

我也试过:df6.to_sql('New_Table', con=engine, if_exists='replace', index=False, chunksize=40, method='multi')#有2098个参数的限制,这就是为什么chunksize=40(40*52列=2080,所以小于限制。反正这比只传递fast_executemany=True给要慢create_engine)

不幸的是,上面提到的尝试以及sqlalchemy我研究的其他一些 python 方法.to_sql只是内存不足,或者操作需要很长时间(一夜之间),我不得不杀死它。

在 52 列和 2750 万行中,我猜每个单元格的平均字符串大小约为 20 个字符(至少对于文本列而言)。我必须做一些不同的事情才能将这些数据导入 SQL Server 数据库,但我真的很挣扎,我在这个项目之前to_sqlto_csv之前从未遇到过更多数据的问题。

处理器

记忆

0 投票
2 回答
1011 浏览

python - 如何加快熊猫 to_sql

我正在尝试使用 pandas to_sql 将数据上传到 MS Azure Sql 数据库,这需要很长时间。我经常在睡觉前运行它并在早上醒来,它已经完成但花了几个小时,如果出现错误,我无法解决它。这是我的代码:

然后我为 sql 摄取运行此命令:

我已经玩过块大小,甜蜜点似乎是 100,考虑到我通常尝试一次上传 800,000-2,000,000 条记录,这还不够快。如果我将其增加超过该值,我将收到一个似乎仅与块大小有关的错误。

0 投票
2 回答
2066 浏览

sql-server - 熊猫数据框到 SQL Server

我有一个 API 服务,在这个服务中,我将 pandas 数据帧结果写入 SQL Server。

但是当我想向表中添加新值时,我无法添加。我使用了 append 选项,因为在文档中它说它向数据框添加了新值。我没有使用替换选项,因为我不想每次都放下我的桌子。

我需要在保留旧值的同时将新值发送到数据库表。

除了 pandas 方法,我已经研究过任何其他方法或to_sql方法,但我只能在任何地方看到 pandas。

有人对此有任何想法吗?

谢谢。

0 投票
1 回答
62 浏览

python - 如何在不截断旧数据的情况下从 pandas 数据框中追加一个表

我有一个rate_card如下所示的表格,我使用它从数据框中插入了该表格

表内的当前数据

我有新的集合数据需要再次插入到表中

新数据

预期产出

我当前的代码正在截断并加载表格新数据。我想要旧数据并将新数据附加到表中。这怎么能在python中完成?