问题标签 [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.
python - 如何使用python更新db2表中列的所有值
我在 db2 中有一个表,如下所示:
index--------name------pass
0----------------A--- ----------没有
1-----B----------------没有
2------ ----------C-------------否
我需要将其更改为:
index--------name---------pass
0----A----- --------是
1----------------B----------------是
2-------- --------C-------------是的
这必须通过 sqlalchemy (pandas) pandas.dataframe.to_sql() 来完成
比如:df.to_sql('asdad', engine, 'PASDA', if_exists='replace', index=False)
而不是替换整个表,我只需要使用 python 更改“pass”列中的值,最好不要循环(在一个衬里)。
我需要它而无需在 db 中创建临时表,也无需将整个表复制到数据框中。
使用 sqlalchemy: 喜欢::
我在表中没有属性索引的部分出现错误,我应该在那里实际给出什么?
python - DataError: (pyodbc.DataError) ('String data, right truncation: length 6454 buffer 6452', '22001') [SQL: u'INSERT INTO
在 python3、pandas 和 pyodbc(4.0.24 版)的帮助下,我们将上传一个带有“评论”列的数据框,其中通常包含大量文本。在上传过程中,我们收到以下错误:
上传到数据库时,使用 if_exists="replace",我们还将 dtypes 添加到列中,如下所示:
我们可以做些什么吗?
mysql - Pandas to_sql 在追加到 mysql 表时丢弃行
我正在使用 mysql 数据库和 python 处理从在线报纸上抓取的文章。我想在数据帧上使用 pandas to_sql 方法将最近抓取的文章附加到 mysql 表中。它工作得很好,但我在以下方面遇到了一些问题:
由于文章是从新闻站点自动抓取的,因此其中大约 1% 存在问题(编码、文本太长或类似的东西)并且不适合 mysql 表字段。出于某种原因,Pandas to_sql 方法会忽略这些错误并丢弃不适合的行。例如,我有以下 mysql 表:
而且我还有一个包含 15 行和 4 列(标题、描述、内容、链接)的数据框。
如果其中 1 行的标题大于 255 个字符,则它不适合 mysql 表。我预计在做的时候会出错df.to_sql('press', con=con, index=False, if_exists='append')
,这样我就知道我有问题要解决;但实际结果是附加了 14 行而不是 15 行。
这可能对我有用,但我需要知道哪一行被丢弃,以便我可以标记它以供以后修订。是否可以告诉熊猫让我知道哪些索引被忽略了?
谢谢!
python - 使用 Python 将数据帧保存到 Redshift 时出错
我正在尝试将表从 Redshift 数据库复制到 Python 中的数据框,然后将其再次保存在 Redshift 中。
所以,第一步是有效的,但第二步我有一些问题。当我尝试保存具有 100 行的数据框时出现一些错误。
我收到了这个错误:
DBAPIError: (pyodbc.Error) ('HY000', '[HY000] [Amazon][ODBC] (10920) 已经下推的输入参数无法获取数据。
这很奇怪,因为当我尝试保存一个有 10 行的数据框时,根本没有错误。
sql-server - 让 Python 等到 to_sql 完成
我正在使用 to_sql 将我的数据帧导出到 SQL Server 表中,但是我想延迟下一行 python 代码的执行,直到插入完成。
我对数据库连接有一个不错的理解,但是在尝试了解 python 和 sql server 如何通信时,我有点菜鸟。
任何帮助将不胜感激。
谢谢
python - Pandas to_sql:浮点二进制问题
我有一个 Pandas DataFrame,我通过 to_sql 和 sqlalchemy 发送到 MySQL。我在 SQL 中的浮点数有时会显示略微偏离的小数位(与 df 相比)并导致错误:“警告:(1265,“第 1 行的“股息”列的数据被截断”)”。如何舍入浮点数以使其与 DataFrame 中的值匹配?
这些值从 CSV 中提取并从字符串转换为浮点数。写入 Excel 时它们看起来很好,但发送到 SQL 时,数字略有偏差。
当涉及到二进制时,我已经研究了浮点数的问题,但我无法弄清楚在从 DataFrame 到 SQL 的传输过程中如何覆盖它。
大多数浮点数类似于 0.0222000000,但每隔一段时间就会出现 0.0221999995。理想情况下,我希望它在末尾自动截断所有 0,但我会满足于第一个示例。但是,我需要将其向上舍入以匹配存储在 DataFrame 中的浮点数。
python - sqlalchemy.exc.InterfaceError:执行操作失败;Python 类型 Point 无法转换
我正在尝试插入具有这种格式的数据框
使用 to_sql 进入 mysql。但是,我收到了这个错误
显然,'geometry': 'POINT (-3.89474 14.94329)'
没有转换。
我一直在寻找同样的错误,人们建议 to_sql 应该解决这个问题,但显然它不起作用。我使用 sqlalchemy 进行连接。任何人都可以为此提供任何指示吗?
python - 相同的代码结构 - 调用 .to_sql() 时的不同结果
背景
我有 3 个独立的 python 脚本,它们共享相同的结构并有效地做同样的事情 - 调用 API 的请求,检索 XML 数据,将 XML 转换为 ElementTree 对象,然后转换为 pandas DataFrame 对象,然后使用 .to_sql() 将该数据帧导入一个甲骨文数据库。这对于我编写的三个脚本中的两个是成功的,但是第三个没有写入数据库,没有返回错误,表被创建为空,脚本挂起
成功文件中的代码:
我会发布不成功文件的代码,但除了表和变量名之外,它实际上是相同的。
我试过的
我尝试使用 cx_oracle 的引擎来驱动与数据库的连接,但没有成功:
我已经验证了数据框是有效的。
我已经验证了与数据库的连接。
python - 有没有办法在每次将“块”写入 SQL 数据库时打印一条消息?
所以我有一个巨大的数据框,我通过将数据框分成大小为 10,000 的块(有人告诉我这加快了进程),将它写入 SQL 数据库中的表。我使用以下代码:
每当一个新的块被写入表中时,是否有办法打印一条消息?也许像“一个块刚刚添加到表中”之类的东西。这是一个 postgresql 数据库,但该信息可能无济于事。
python-3.x - pd.to_sql 返回 KeyError: '\x02' on Windows Server 2008 R2 (Python 3.6.4) (Pandas 0.25)
我有一些代码可以在我的 Windows 10 机器上本地运行,这些代码写入 DB2 sql 数据库上的表并完美运行。由于我似乎无法弄清楚的原因,它在 windows server 2008 R2 机器上不起作用。
在本地工作正常,但完全不知道为什么它不能在服务器上工作。
我收到以下错误:
键错误:'\x02'
同样,它在我的本地机器上工作得很好,但是在服务器上部署给了我上述错误。在过去的几个小时里,我一直试图弄清楚这一点,这让我发疯了。任何帮助将非常感谢!