问题标签 [read-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 - panda.to_sql 通过 mysql.connector 调用带参数的存储过程
我有一些Connection类,它有__enter__和__exit__方法来返回mysql.connector.MySQLConnection实例。
需要的是运行 mysql 存储过程并将数据作为数据框获取。我尝试了很多方法:?、%s、:1、%(name)s 并将列表、元组、字典传递给参数。
我阅读了带有参数的 Pandas read_sql、MySQL 存储过程、Pandas 和“在执行多个语句时使用 multi=True”以及其他一些内容,但仍然找不到解决方案,因为它总是以“并非所有参数都在 SQL 语句中使用”而失败"或要求使用 Multi = True;
当然,我们可以使用游标读取数据,获取它并传递给 DataFrame 构造函数,但是根据文档必须有一种使用 pandas.read_sql 的方法。
python - SQLAlchemy python相同地复制表并将其粘贴到其他地方
我有一个 MySQL DB,它有一个主键为 VARCHAR(4) 的表,并且包含 10 个包含 FLOAT 的列。我试图复制表并将其粘贴到其他地方,但是当 read_sql() 时,它会更改表的格式,例如将 VARCHAR(4) 和 FLOAT 更改为 TEXT 并将过去的主键更改为常规列。最后它添加了一个索引。我的问题是,如何以相同的方式复制表、更改数据并将其写入另一个具有类似格式的数据库。
python - Pandas 的“read_sql”在从 Oracle 表中读取时创建整数列,该表具有带小数点的数字列
我有一个 Oracle 表,其中包含类型VARCHAR2
(即字符串)和类型NUMBER
(即带有小数部分的数值)的列。并且数字列确实包含带小数点的值,而不是整数值。
但是,当我通过将这个表读入 Pandas数据框时pandas.read_sql
,我将数据框中的数字列接收为int64
. 如何避免这种情况并接收float
具有完整十进制值的列?
我正在使用以下版本
python - 循环通过保存在数据框中的sql查询?
- 用户将 sql 查询保存在 pd 中,我想执行每个 sql 查询然后将数据框放入同一个 pd 中,如下所示
- 我要识字这个东西?将每个 column2 结果按每一行放入 column3
- 如何创建新列以自动保存结果?
database - 如何使用 ibm_db_dbi 连接数据库来设置当前模式?
我一直在尝试使用 ibm_db_dbi 连接数据库并通过 pandas.read_sql 读取表。
创建连接后,我使用 set_current_schema('mySchema') 为 myConnection 设置当前架构,这样我就不需要在每个表前面指定架构。
但是,当我使用 pd.read_sql(sql, myConnection) 读取表时,它总是使用用户名作为架构,而不是我指定的架构。
有没有办法解决它?
任何帮助,将不胜感激。
谢谢,
特里
python - 在python中添加SQL for循环
我是一个编程新手,我有一个数据库文件,里面有一些日期,打开,高,低,关闭数据,名称为 0001.HK;0002.HK; 0003.HK 然后我尝试建立一个循环来取出数据库中的一些数据。
当它输出时显示:sql'select Date,Open,High,Low,Close,Volume from 0001.HK'执行失败:无法识别的令牌:“0001.HK”
但我应该在数据库中有 0001.HK 表我该怎么办?
pandas - PyODBC+Pandas+Read_SQL:错误:游标的连接已关闭
我正在读取表格为 SELECT * FROM TABLE (sql); 通过 PyODBC 从 ODBC 数据源并使用 Pandas read_sql() 获取/加载所有行。但是,有 200 多个表,有些表有 100,000 行,因此一直在使用 chunksize 读取和加载到数据帧以获得一些读取性能。
下面是一个示例代码:
但是,在 pandas 读取/处理 read_sql 中定义的指定块大小(10,000)并加载到目标后,我总是收到此错误:
错误:游标的连接已关闭
如果 chunksize 增加到 50,000;一旦它只处理/加载了 50,000 条记录,它就会再次出错,并显示与上述相同的错误消息,即使源有比这更多的记录。这也导致程序失败。
请建议是否有任何方法可以处理这个问题。源只是一个 ODBC 数据源连接,因此我认为无法为 ODBC 数据源创建 SQLAlchemy 引擎。
python - 从 Jaydebeapi Netezza 读取的 Pandas read_sql 非常慢
我正在使用 Pandas 读取 sql 通过 jdbc/jaydebeapi 读取 netezza 表。
查询是一个简单的 select * from database.table
我正在读取一个包含 700K 行的表并创建一个 csv(创建时大小为 600 MB);读取 sql 需要花费大量时间来读取数据库表。DB 开始日期时间是 2020-08-03 10:26:11.317 DB 结束日期时间是 2020-08-03 11:15:19.841
如您所见,差不多一个小时。为什么要读这么久?
我可以使用 nzsql 在几秒钟内读取此表,而使用 spark 数据帧只需 5 秒钟(包括写入 csv 的操作)。可能是什么错误?我没有转换——只是简单的提取;
我的服务器没有内存问题;它有超过 200G 的可用内存空间,并且在运行进程时几乎没有任何 cpu 使用率。什么是瓶颈?还有其他更好的方法来做到这一点吗?
python - Python Snowflake - 大型数据集提取 - 停止迭代/挂起错误
当我从雪花中提取小数据集时,它没有问题。但是,当我尝试使用 Python SNOW 连接器从雪花中提取大型数据集时,它会引发操作错误。
任何帮助表示赞赏。
错误:OperationalError: (snowflake.connector.errors.OperationalError) 250003:未能获得响应。绞刑?方法:获取,网址:https ://sfc-oh-ds1-customer-stage.s3.amazonaws.com/cyok-s-ohss0400/results/0198120b-0077-b3d9-0000-0661009d1726_0/main/data_0_0_1?x- amz-server-side-encryption-customer-algorithm=AES256&response-content-encoding=gzip&X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Date=20201105T174742Z&X-Amz-SignedHeaders=host&X-Amz-Expires=86399&X-Amz- Credential=AKIAZ767M53OOUHERYED%2F20201105%2Fus-east-2%2Fs3%2Faws4_request&X-Amz-Signature=047fa367aeea73a6ef66de485a3d5dccc229707a72c21096b01b180fd3369c7d(此错误的背景:http /e3q://sqlalche.me )
代码: