【发布时间】:2021-09-17 13:03:50
【问题描述】:
我有一个可通过 microsoft access 访问的大型数据库(超过 500 万行)。 到目前为止,我可以使用 python 将整个表拉到一个数据框中,但是处理时间很长(超过 15 分钟),这很疯狂,因为我只需要处理整个表的一小部分.. .
import pyodbc
import pandas as pd
conn_str(
r'DRIVER = {Adaptive Server Enterprise};'
r'DBQ = \\path_where_the_table_is_located.mdb;'
r'SERVER = server_name;'
r'Databse = ...;'
r'UID = xxx;'
r'PWD = xxx;'
r'port = xxx')
con = pyodbc.connect(conn_str)
cursor = conn.cursor()
df = pd.read_sql('select * table_to_be_converted_into_a_df, conn)
如何增强上面的查询,只请求整个表的一小部分并更快地运行它?
df1 = df.loc[df['date'] == '2021-07-07']
这是我在完成后运行以缩小 df 的代码,我想以某种方式将其添加到初始查询中,以仅查询我需要的数据并更快地运行它
【问题讨论】:
标签: python sql pandas database pyodbc