日韩久久久精品,亚洲精品久久久久久久久久久,亚洲欧美一区二区三区国产精品 ,一区二区福利

Python 獲取 Access 表字段名

系統(tǒng) 2436 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()
          
        

關(guān)于字段類型(Type):3為數(shù)字,202為文本,203為備忘。Windows 下有更簡潔的函數(shù) pypyodbc.win_connect_mdb,只需要填路徑。

相關(guān)閱讀

  • win32com下載
  • Python操作Access數(shù)據(jù)庫基本操作步驟分析
  • 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()
          
        

相關(guān)鏈接

  • 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  #是否將字段名轉(zhuǎn)為小寫
    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()
          
        

相關(guān)鏈接

  • pypyodbc的pypi主頁
  • 未找到官方文檔

pyodbc 與 pypyodbc 取值的區(qū)別

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

更多文章、技術(shù)交流、商務(wù)合作、聯(lián)系博主

微信掃碼或搜索:z360901061

微信掃一掃加我為好友

QQ號聯(lián)系: 360901061

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

【本文對您有幫助就好】

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

發(fā)表我的評論
最新評論 總共0條評論
主站蜘蛛池模板: 孟津县| 公主岭市| 余江县| 望江县| 博客| 青浦区| 长子县| 邯郸市| 临夏市| 登封市| 汉川市| 建平县| 喜德县| 安多县| 济源市| 嘉荫县| 双流县| 锦州市| 邛崃市| 班戈县| 墨脱县| 桓台县| 冷水江市| 云龙县| 浮山县| 盱眙县| 青冈县| 东丰县| 怀安县| 牙克石市| 陕西省| 靖州| 芦山县| 昂仁县| 灵山县| 平邑县| 永吉县| 桂阳县| 抚顺县| 城市| 青川县|