黄色网页视频 I 影音先锋日日狠狠久久 I 秋霞午夜毛片 I 秋霞一二三区 I 国产成人片无码视频 I 国产 精品 自在自线 I av免费观看网站 I 日本精品久久久久中文字幕5 I 91看视频 I 看全色黄大色黄女片18 I 精品不卡一区 I 亚洲最新精品 I 欧美 激情 在线 I 人妻少妇精品久久 I 国产99视频精品免费专区 I 欧美影院 I 欧美精品在欧美一区二区少妇 I av大片网站 I 国产精品黄色片 I 888久久 I 狠狠干最新 I 看看黄色一级片 I 黄色精品久久 I 三级av在线 I 69色综合 I 国产日韩欧美91 I 亚洲精品偷拍 I 激情小说亚洲图片 I 久久国产视频精品 I 国产综合精品一区二区三区 I 色婷婷国产 I 最新成人av在线 I 国产私拍精品 I 日韩成人影音 I 日日夜夜天天综合

Python 獲取 Access 表字段名

系統 2576 0
時效說明:walker 的舊文遷移,某些地方可能過時,最后更新時間為 2015-09-25

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

win32.com

          
            # 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主頁
  • 未找到官方文檔

pyodbc 與 pypyodbc 取值的區別

  • 在 select 指定字段時
row[idx] row.field row['field'] row.get('field')
pyodbc × ×
pypyodbc ×
  • 在 select * 時
row[idx] row.field row['field'] row.get('field')
pyodbc × × ×
pypyodbc ×

更多文章、技術交流、商務合作、聯系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯系: 360901061

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描下面二維碼支持博主2元、5元、10元、20元等您想捐的金額吧,狠狠點擊下面給點支持吧,站長非常感激您!手機微信長按不能支付解決辦法:請將微信支付二維碼保存到相冊,切換到微信,然后點擊微信右上角掃一掃功能,選擇支付二維碼完成支付。

【本文對您有幫助就好】

您的支持是博主寫作最大的動力,如果您喜歡我的文章,感覺我的文章對您有幫助,請用微信掃描上面二維碼支持博主2元、5元、10元、自定義金額等您想捐的金額吧,站長會非常 感謝您的哦!!!

發表我的評論
最新評論 總共0條評論