Python安裝pypyodbc模組
Python 無法直接讀取Microsoft Access的accdb或mdb資料庫檔案, 一般會透過2種模組來讀取:
- pypyodbc
- pyodbc
以下為Python安裝pypyodbc模組讀取Microsoft Access的步驟:
Python 無法直接讀取Microsoft Access的accdb或mdb資料庫檔案, 一般會透過2種模組來讀取:
- pypyodbc
- pyodbc
以下為Python安裝pypyodbc模組讀取Microsoft Access的步驟:
安裝pypyodbc
In [ ]:
pip install pypyodbc
Collecting pypyodbc
Requirement already satisfied: setuptools
in c:\users\superuser\miniconda3\envs\finlab\lib\site-packages (from pypyodbc)
(41.0.1)
Building wheels for collected packages:
pypyodbc
Building wheel for pypyodbc (setup.py): started
Building
wheel for pypyodbc (setup.py): finished with status 'done'
Created wheel for pypyodbc: filename=pypyodbc-1.3.4-cp36-none-any.whl
size=22847
sha256=55f456049e019685e95f632d066c46f2a8082b161ed075b2b8237cb47ee10637
Stored in directory: C:\Users\superuser\AppData\Local\pip\Cache\wheels\e4\92\18\b21aa15a7e8915859a6fc10206cdd7f5d9ac098a523b9738c6
Successfully built pypyodbc
Installing collected packages: pypyodbc
Successfully installed pypyodbc-1.3.4
Note: you may need to restart the kernel
to use updated packages.
In [ ]:
pip install pypyodbc
Collecting pypyodbc
Requirement already satisfied: setuptools
in c:\users\superuser\miniconda3\envs\finlab\lib\site-packages (from pypyodbc)
(41.0.1)
Building wheels for collected packages:
pypyodbc
Building wheel for pypyodbc (setup.py): started
Building
wheel for pypyodbc (setup.py): finished with status 'done'
Created wheel for pypyodbc: filename=pypyodbc-1.3.4-cp36-none-any.whl
size=22847
sha256=55f456049e019685e95f632d066c46f2a8082b161ed075b2b8237cb47ee10637
Stored in directory: C:\Users\superuser\AppData\Local\pip\Cache\wheels\e4\92\18\b21aa15a7e8915859a6fc10206cdd7f5d9ac098a523b9738c6
Successfully built pypyodbc
Installing collected packages: pypyodbc
Successfully installed pypyodbc-1.3.4
Note: you may need to restart the kernel
to use updated packages.
成功安裝後,要重新啟動Kernel
In [1]:
import pypyodbc
import pandas as pd
db_file = 'D:\\DATA\\Python data\\練習\\0000_1010801-1080331.accdb' ## Microsoft Access 檔案名稱
user = 'Administrator'
password = ''
connection_string = 'DRIVER={Microsoft Access Driver (*.accdb)};DBQ=%s;UID=%s;PWD=%s' % (db_file, user, password)
conn = pypyodbc.win_connect_mdb(connection_string)
SQL = 'SELECT * FROM [1010801-1080331]' ## 1010801-1080331為資料表名稱
cur = conn.cursor()
cur.execute(SQL)
list = cur.fetchall()
desc = cur.description
cur.close()
conn.close()
df_column = pd.DataFrame(desc)
df_column[0]
df = pd.DataFrame(list, columns=df_column[0])
df.head()
Out[1]:
編號 申報種類 交易標的種類 土地數量 建物數量 車位數量 幾房 幾廳 幾衛 有無隔間 ... 代表建號屋齡 代表建號層次 車位總價格 車位總持分面積 地建號範圍 行政區 地段 土地移轉面積(坪) 建物移轉面積(坪) 房地單價(每坪萬元)
0 0 買賣 房地(土地+建物) 2.0 1.0 None 8.0 4.0 5.0 Y ... 39.0 一層;二層;三層;四層;五層;騎樓;地下層 None None 五福四路91~120號 鹽埕區 大智段 20.27 104.24 15.3
1 1 買賣 房地(土地+建物) 1.0 1.0 None 3.0 2.0 2.0 Y ... 32.0 一層 None None 大公路121巷1~30號 鹽埕區 興橋段 10.28 29.79 6.0
2 2 買賣 房地(土地+建物) 2.0 1.0 None 3.0 2.0 2.0 Y ... 29.0 四層 None None 七賢三路121~150號 鹽埕區 興仁段 2.71 33.3 6.9
3 3 買賣 房地(土地+建物) 2.0 1.0 None 3.0 2.0 2.0 N ... 28.0 五層 None None 公園二路1~30號 鹽埕區 大成段 8.38 25.42 9.8
4 4 買賣 房地(土地+建物) 1.0 1.0 None 2.0 2.0 1.0 Y ... 14.0 八層 None None 建國四路361~390號 鹽埕區 鹽北段 2.09 20.92 9.5
5 rows × 39 columns
In [1]:
import pypyodbc
import pandas as pd
db_file = 'D:\\DATA\\Python data\\練習\\0000_1010801-1080331.accdb' ## Microsoft Access 檔案名稱
user = 'Administrator'
password = ''
connection_string = 'DRIVER={Microsoft Access Driver (*.accdb)};DBQ=%s;UID=%s;PWD=%s' % (db_file, user, password)
conn = pypyodbc.win_connect_mdb(connection_string)
SQL = 'SELECT * FROM [1010801-1080331]' ## 1010801-1080331為資料表名稱
cur = conn.cursor()
cur.execute(SQL)
list = cur.fetchall()
desc = cur.description
cur.close()
conn.close()
df_column = pd.DataFrame(desc)
df_column[0]
df = pd.DataFrame(list, columns=df_column[0])
df.head()
Out[1]:
編號 | 申報種類 | 交易標的種類 | 土地數量 | 建物數量 | 車位數量 | 幾房 | 幾廳 | 幾衛 | 有無隔間 | ... | 代表建號屋齡 | 代表建號層次 | 車位總價格 | 車位總持分面積 | 地建號範圍 | 行政區 | 地段 | 土地移轉面積(坪) | 建物移轉面積(坪) | 房地單價(每坪萬元) | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
0 | 0 | 買賣 | 房地(土地+建物) | 2.0 | 1.0 | None | 8.0 | 4.0 | 5.0 | Y | ... | 39.0 | 一層;二層;三層;四層;五層;騎樓;地下層 | None | None | 五福四路91~120號 | 鹽埕區 | 大智段 | 20.27 | 104.24 | 15.3 |
1 | 1 | 買賣 | 房地(土地+建物) | 1.0 | 1.0 | None | 3.0 | 2.0 | 2.0 | Y | ... | 32.0 | 一層 | None | None | 大公路121巷1~30號 | 鹽埕區 | 興橋段 | 10.28 | 29.79 | 6.0 |
2 | 2 | 買賣 | 房地(土地+建物) | 2.0 | 1.0 | None | 3.0 | 2.0 | 2.0 | Y | ... | 29.0 | 四層 | None | None | 七賢三路121~150號 | 鹽埕區 | 興仁段 | 2.71 | 33.3 | 6.9 |
3 | 3 | 買賣 | 房地(土地+建物) | 2.0 | 1.0 | None | 3.0 | 2.0 | 2.0 | N | ... | 28.0 | 五層 | None | None | 公園二路1~30號 | 鹽埕區 | 大成段 | 8.38 | 25.42 | 9.8 |
4 | 4 | 買賣 | 房地(土地+建物) | 1.0 | 1.0 | None | 2.0 | 2.0 | 1.0 | Y | ... | 14.0 | 八層 | None | None | 建國四路361~390號 | 鹽埕區 | 鹽北段 | 2.09 | 20.92 | 9.5 |
5 rows × 39 columns
將「編號」設定為index
In [2]:
df = df.set_index("編號", drop=True)
df.head()
Out[2]:
申報種類 交易標的種類 土地數量 建物數量 車位數量 幾房 幾廳 幾衛 有無隔間 建物型態 ... 代表建號屋齡 代表建號層次 車位總價格 車位總持分面積 地建號範圍 行政區 地段 土地移轉面積(坪) 建物移轉面積(坪) 房地單價(每坪萬元)
編號
0 買賣 房地(土地+建物) 2.0 1.0 None 8.0 4.0 5.0 Y 店面(店鋪) ... 39.0 一層;二層;三層;四層;五層;騎樓;地下層 None None 五福四路91~120號 鹽埕區 大智段 20.27 104.24 15.3
1 買賣 房地(土地+建物) 1.0 1.0 None 3.0 2.0 2.0 Y 公寓(5F含以下無電梯) ... 32.0 一層 None None 大公路121巷1~30號 鹽埕區 興橋段 10.28 29.79 6.0
2 買賣 房地(土地+建物) 2.0 1.0 None 3.0 2.0 2.0 Y 住宅大樓(11F含以上有電梯) ... 29.0 四層 None None 七賢三路121~150號 鹽埕區 興仁段 2.71 33.3 6.9
3 買賣 房地(土地+建物) 2.0 1.0 None 3.0 2.0 2.0 N 公寓(5F含以下無電梯) ... 28.0 五層 None None 公園二路1~30號 鹽埕區 大成段 8.38 25.42 9.8
4 買賣 房地(土地+建物) 1.0 1.0 None 2.0 2.0 1.0 Y 華廈(10F含以下有電梯) ... 14.0 八層 None None 建國四路361~390號 鹽埕區 鹽北段 2.09 20.92 9.5
5 rows × 38 columns
In [2]:
df = df.set_index("編號", drop=True)
df.head()
Out[2]:
申報種類 | 交易標的種類 | 土地數量 | 建物數量 | 車位數量 | 幾房 | 幾廳 | 幾衛 | 有無隔間 | 建物型態 | ... | 代表建號屋齡 | 代表建號層次 | 車位總價格 | 車位總持分面積 | 地建號範圍 | 行政區 | 地段 | 土地移轉面積(坪) | 建物移轉面積(坪) | 房地單價(每坪萬元) | |
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
編號 | |||||||||||||||||||||
0 | 買賣 | 房地(土地+建物) | 2.0 | 1.0 | None | 8.0 | 4.0 | 5.0 | Y | 店面(店鋪) | ... | 39.0 | 一層;二層;三層;四層;五層;騎樓;地下層 | None | None | 五福四路91~120號 | 鹽埕區 | 大智段 | 20.27 | 104.24 | 15.3 |
1 | 買賣 | 房地(土地+建物) | 1.0 | 1.0 | None | 3.0 | 2.0 | 2.0 | Y | 公寓(5F含以下無電梯) | ... | 32.0 | 一層 | None | None | 大公路121巷1~30號 | 鹽埕區 | 興橋段 | 10.28 | 29.79 | 6.0 |
2 | 買賣 | 房地(土地+建物) | 2.0 | 1.0 | None | 3.0 | 2.0 | 2.0 | Y | 住宅大樓(11F含以上有電梯) | ... | 29.0 | 四層 | None | None | 七賢三路121~150號 | 鹽埕區 | 興仁段 | 2.71 | 33.3 | 6.9 |
3 | 買賣 | 房地(土地+建物) | 2.0 | 1.0 | None | 3.0 | 2.0 | 2.0 | N | 公寓(5F含以下無電梯) | ... | 28.0 | 五層 | None | None | 公園二路1~30號 | 鹽埕區 | 大成段 | 8.38 | 25.42 | 9.8 |
4 | 買賣 | 房地(土地+建物) | 1.0 | 1.0 | None | 2.0 | 2.0 | 1.0 | Y | 華廈(10F含以下有電梯) | ... | 14.0 | 八層 | None | None | 建國四路361~390號 | 鹽埕區 | 鹽北段 | 2.09 | 20.92 | 9.5 |
5 rows × 38 columns
沒有留言:
張貼留言