Python獲取access表欄位名

2021-09-24 10:21:41 字數 2526 閱讀 3496

以下所有**python2.7、python3.4均可用。

一、win32.com

#author: walker

#date: 2015-09-25

#summary: 列印指定access檔案、指定表的所有字段

import win32com.client

def printcolumns_win32com(pathfile, tablename):

conn = win32com.client.dispatch(r'adodb.connection')

dsn = 'provider=microsoft.ace.oledb.12.0;data source=' + pathfile + ';'

#dsn = 'provider=microsoft.jet.oledb.4.0;data source=' + pathfile + ';'

conn.open(dsn)

rs = win32com.client.dispatch(r'adodb.recordset')

rs.cursorlocation = 3

sql = 'select top 1 * from ' + tablename

print(sql)

rs.open(sql, conn)

for i in range(0, rs.fields.count):

print(rs.fields[i].name + ' - ' + str(rs.fields[i].type) + ' - ' + str(rs.fields[i].definedsize))

conn.close()

關於字段型別(type):3為數字,202為文字,203為備忘。

1、python操作access資料庫基本操作步驟分析

2、ado獲取表的所有欄位名

二、pyodbc

#encoding=utf-8

#author: walker

#date: 2015-09-25

#summary: 列印指定access檔案、指定表的所有字段

import pyodbc

def printcolumns_pyodbc(pathfile, tablename):

connstr = r'driver=;dbq=%s;' % pathfile

print('connstr:' + connstr)

conn = pyodbc.connect(connstr)

cur = conn.cursor()

for row in cur.columns(table=tablename):

print(row.column_name)

cur.close()

conn.close()

1、pyodbc的pypi主頁

2、pyodbc的文件

三、pypyodbc

#encoding=utf-8

#author: walker

#date: 2015-09-25

#summary: 列印指定access檔案、指定表的所有字段

import pypyodbc

def printcolumns_pypyodbc(pathfile, tablename):

connstr = r'driver=;dbq=%s;' % pathfile

print('connstr:' + connstr)

pypyodbc.lowercase = false  #是否將欄位名轉為小寫

conn = pypyodbc.connect(connstr)

cur = conn.cursor()

cur.execute('select top 1 * from ' + tablename)

cnt = 0

for tup in cur.description:

print(tup[0])

cnt += 1

print('cnt:' + str(cnt))

cur.close()

conn.close()

1、pypyodbc的pypi主頁

2、pypyodbc的入門教程

3、未找到官方文件

四、pyodbc與pypyodbc取值的區別

(1)、在select指定欄位時

row[idx]

row.field

row['field']

row.get('field')

pyodbc√√

××pypyodbc√×

√√(2)、在select *時

row[idx]

row.field

row['field']

row.get('field')

pyodbc√×

××pypyodbc√×

√√

獲取ACCESS表結構

經常有朋友問怎麼得到access的表結構。public sub gettables dim rs as new adodb.recordset dim conn as adodb.connection dim ssql as string set conn currentproject.connec...

獲取Access系統表

access 系統表 msysobjects 包含了資料庫物件列表,儘管未在文件中記載,你仍可通過查詢它來獲取你想要的.注 請不要有意或無意地修改任何access系統表,否則會出現不可意料的情況.使用下列 sql 語句來獲取你想要的 查詢 select msysobjects.name from m...

Python 獲取 Access 表欄位名!

時效說明 walker 的舊文遷移,某些地方可能過時,最後更新時間為 2015 09 25 以下所有 python2.7 python3.4 均可用。win32.com python資源共享群 484031800 encoding utf 8 author walker date 2015 09 2...