从 Access 数据库中检索和打印值

问题描述

我正在尝试从 Access 数据库中检索和打印一行。我希望用户输入一个 ID 和一个字段,然后输入一个要打印的值。

这是我目前的代码...

import pypyodbc
import pandas

conn = pypyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=C:\Users\Operator\Documents\T31_DB.accdb;')

cursor = conn.cursor()
cursor.execute('SELECT * FROM [TABLE_SIGNAL_ID]')

data = cursor.fetchall()
df = pandas.DataFrame(data)
dfi = df.set_index([0],drop=False)
ID = raw_input("enter signal ID:")
ID = int()

res = dfi.iloc[[ID]]

print res

有什么方法可以让我从 Access 中保留标题,以便从行中提取特定项目?不想手动重命名列,因为太多了。

感谢任何帮助。

解决方法

我设法做到了,但使用的是 SQL!

import pandas as pd
import pypyodbc
import sqlalchemy

conn = pypyodbc.connect(r'Driver={Microsoft Access Driver (*.mdb,*.accdb)};DBQ=C:\Users\Operator\Documents\T31_DB.accdb;')

df = pd.read_sql('SELECT * FROM [TABLE_SIGNAL_ID]',conn)
dfi = df.set_index("signal_id",drop=False)

ID = raw_input("enter signal ID:")

res = dfi.loc[ID,["signal_id","abname","system_id"]]

print res