我尝试了许多不同的方法来从 Access 中提取数据并将其放入一个整洁的数据框架中。现在我的代码看起来像这样。
from pandas import DataFrame
import numpy as np
import pyodbc
from sqlalchemy import create_engine
db_file = r'C:\Users\username\file.accdb'
user = 'user'
password = 'pw'
odbc_conn_str = 'DRIVER={Microsoft Access Driver (*.mdb, *.accdb)};DBQ=%s;UID=%s;PWD=%s' % (db_file, user, password)
conn = pyodbc.connect(odbc_conn_str)
cur = conn.cursor()
qry = cur.execute("SELECT * FROM table WHERE INST = '796116'")
dataf = DataFrame(qry.fetchall())
print(dataf)
这会将数据放入数据框中,但第二行是一个列表。我需要将下面的代码片段放在 4 个单独的列中,而不是 2 个带有列表的列中。
0 (u'RM257095', u'c1', u'796116')
1 (u'RM257097', u'c2', u'796116')
2 (u'RM257043', u'c3', u'796116')
3 (u'RM257044', u'c4', u'796116')
我使用过像 kdb_utils 这样的模块,它有一个 read_query 函数,它从 kdb 中提取数据并将其分成一个整洁的数据帧。是否有类似的访问或其他方式来提取数据并将其整齐地放入数据框中?