Python获取access表字段名

简介:

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

一、win32.com

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
#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  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为备忘。

相关阅读:

0、win32com下载

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

2、ADO获取表的所有字段名


二、pyodbc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
#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()

相关链接:

1、pyodbc的pypi主页

2、pyodbc的文档


三、pypyodbc

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
#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()

相关链接:

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  √  ×  √  √


相关阅读:

1、常用sql语句(备忘) 

2、获取Access数据库中的用户表名


*** walker * Updated 2015-09-25 ***

本文转自walker snapshot博客51CTO博客,原文链接http://blog.51cto.com/walkerqt/1553180如需转载请自行联系原作者

RQSLT
相关文章
|
2月前
|
监控 数据处理 索引
使用Python批量实现文件夹下所有Excel文件的第二张表合并
使用Python和pandas批量合并文件夹中所有Excel文件的第二张表,通过os库遍历文件,pandas的read_excel读取表,concat函数合并数据。主要步骤包括:1) 遍历获取Excel文件,2) 读取第二张表,3) 合并所有表格,最后将结果保存为新的Excel文件。注意文件路径、表格结构一致性及异常处理。可扩展为动态指定合并表、优化性能、日志记录等功能。适合数据处理初学者提升自动化处理技能。
72 1
|
2月前
|
关系型数据库 MySQL 数据库连接
python查询数据库的某个表,将结果导出Excel
python查询数据库的某个表,将结果导出Excel
87 0
|
1天前
|
机器学习/深度学习 缓存 安全
Python标准库中的`str`类型有一个`translate()`方法,它用于替换字符串中的字符或字符子集。这通常与`str.maketrans()`方法一起使用,后者创建一个映射表,用于定义哪些字符应该被替换。
Python标准库中的`str`类型有一个`translate()`方法,它用于替换字符串中的字符或字符子集。这通常与`str.maketrans()`方法一起使用,后者创建一个映射表,用于定义哪些字符应该被替换。
4 0
|
1月前
|
存储 SQL 数据挖掘
Python 日期表制作
Python 日期表制作
24 4
|
17天前
|
JSON Serverless 开发工具
函数计算产品使用问题之要使用Python写入时序数据到阿里云表格存储时序表,该怎么办
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
|
1月前
|
自然语言处理 Python
python基于百度,哈工大等停用表进行的中文分词
python基于百度,哈工大等停用表进行的中文分词
|
1月前
|
vr&ar 索引 Python
Python基础教程(第3版)中文版 第二章列 表和元组(笔记)
Python基础教程(第3版)中文版 第二章列 表和元组(笔记)
|
12月前
|
JSON 数据可视化 数据挖掘
python数据可视化开发(2):pandas读取Excel的数据格式处理(数据读取、指定列数据、DataFrame转json、数学运算、透视表运算输出)
python数据可视化开发(2):pandas读取Excel的数据格式处理(数据读取、指定列数据、DataFrame转json、数学运算、透视表运算输出)
299 0
|
2月前
|
索引 Python
使用Python的Pandas库进行数据透视表(pivot table)操作
使用Python Pandas进行数据透视表操作包括:安装Pandas库,导入库,创建或读取数据,如`pd.DataFrame()`或从文件读取;然后使用`pd.pivot_table()`创建透视表,指定数据框、行索引、列索引和值,例如按姓名和科目分组计算平均分;查看结果通过打印数据透视表;最后可使用`to_csv()`等方法保存到文件。这为基础步骤,可按需求调整参数实现更多功能。
95 2
|
2月前
|
索引 Python
如何使用Python的Pandas库进行数据透视表(pivot table)操作?
使用Pandas在Python中创建数据透视表的步骤包括:安装Pandas库,导入它,创建或读取数据(如DataFrame),使用`pd.pivot_table()`指定数据框、行索引、列索引和值,计算聚合函数(如平均分),并可打印或保存结果到文件。这允许对数据进行高效汇总和分析。
24 2

相关实验场景

更多