文章目录
  1. 1. 如何得到所有表和表的列名?

工作中的一项任务需要访问MS Access DB, 主要是导出一些表和数据。网上搜索了一番后,在stackoverflow上找到了答案。 其实挺简单的, 导入库pypyodbc,连接上*.accdb文件后, 就是普通Python DBAPI方式访问了。

下面代码来自 stackoverflow:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
# -*- coding: utf-8 -*-
import pypyodbc
pypyodbc.lowercase = False
conn = pypyodbc.connect(
r"Driver={Microsoft Access Driver (*.mdb, *.accdb)};" +
r"Dbq=C:\Users\Public\Database1.accdb;")
cur = conn.cursor()
cur.execute("SELECT CreatureID, Name_EN, Name_JP FROM Creatures");
while True:
row = cur.fetchone()
if row is None:
break
print(u"Creature with ID {0} is {1} ({2})".format(
row.get("CreatureID"), row.get("Name_EN"), row.get("Name_JP")))
cur.close()
conn.close()

如何得到所有表和表的列名?

通过调用cursor对象的如下两个方法即可实现。 它们是代替cursor.execute()调用,再调用cursor.fetchone()访问各行数据。

  • cur.tables()
  • cur.columns(table)
文章目录
  1. 1. 如何得到所有表和表的列名?