python读取access_Python 获取 Access 表字段名!

时效说明:walker 的旧文迁移,某些地方可能过时,最后更新时间为 2015-09-25

以下所有代码 Python2.7、Python3.4 均可用。

Python资源共享群:484031800

# encoding: utf-8

# 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('%s - %d - %d' % (rs.Fields[i].Name, rs.Fields[i].Type, rs.Fields[i].DefinedSize))

conn.Close()

关于字段类型(Type):3为数字,202为文本,203为备忘。Windows 下有更简洁的函数 pypyodbc.win_connect_mdb,只需要填路径。

【相关阅读】win32com下载

Python操作Access数据库基本操作步骤分析

ADO获取表的所有字段名

【pyodbc】

# encoding: utf-8

# author: walker

# date: 2015-09-25

# summary: 打印指定access文件、指定表的所有字段

import pyodbc

def PrintColumns_pyodbc(pathfile, tablename):

connStr = r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};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()

【相关链接】pyodbc的pypi主页

pyodbc的文档

【pypyodbc】

# encoding: utf-8

# author: walker

# date: 2015-09-25

# summary: 打印指定access文件、指定表的所有字段

import pypyodbc

def PrintColumns_pypyodbc(pathfile, tablename):

connStr = r'Driver={Microsoft Access Driver (*.mdb, *.accdb)};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()

【相关链接】pypyodbc的pypi主页

未找到官方文档

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值