Python读取access文件时和读取Excel文件不是很一样,当然用的工具也不一样,在读取excel中的数据时用的是xlrd,而读取access文件时用的则是pypyodbc。
简要安装过程:1、首先要安装access驱动(AccessRuntime_x64_zh-cn.exe),以便于python连接;2、安装pypyodbc模块(pypyodbc-1.3.3.zip)。安装完之后就可以连接access数据库了。(连接access是在Windows下作的,个人感觉在Linux下读取不了access)
简要使用过程(程序):安装完成后,1、在python程序中导入pypyodbc模块,然后再连接access既可。因为access属于数据库,在读取access中的数据时,也要用到sql语句。
例子:
#!/usr/bin/python
# -*- coding: utf-8 -*-
import
sys
import
pypyodbc
reload(sys)
sys.setdefaultencoding(
'gbk'
) #####gbk也可以换成utf—8,如果出现编码问题,这两个都可以试试
conn = pypyodbc.connect(
u'Driver={Microsoft Access Driver (*.mdb, *.accdb)};DBQ='
+
filepath
) ####
filepath
是变量,access文件的绝对路径。注意:
*.accdb
一定要加上
cur.execute(
'select * from %s'
% tablename) ### tablename是变量,指的是access中的表名
list = cur.fetchall() ####获取access中的数据
另外,cur.
description
是读取表头的意思
Python读取access文件时和读取Excel文件不是很一样,当然用的工具也不一样,在读取excel中的数据时用的是xlrd,而读取access文件时用的则是pypyodbc。简要安装过程:1、首先要安装access驱动(AccessRuntime_x64_zh-cn.exe),以便于python连接;2、安装pypyodbc模块(pypyodbc-1.3.3.zip)。安装完之后就可以连
在工作中遇到这样一个问题,需要对上百个
mdb
文件
进行数据统计,
mdb
文件
实际上就是
access
数据库,使用微软的
access
工具即可打开。
但是我电脑上没有安装
access
数据库,而且官方的安装包还要付费,下载破解版费时费力还不一定能成功,于是便想到了万能的
Python
。
经过一番搜索,发现
Python
有一个第三方库“pyodbc”可以解析
access
的数据库。
更妙的是还能与pandas联动,将数据库的表直接转为dataframe格式,这样就大大简化了我后续统计操作的步骤。
那么首先需要安装,直接用p
安装
Access
Runtime_x64_zh-cn
指定.
mdb
默认打开方式为 MS
ACCESS
,通常安装在 C:\Program Files\Microsoft Office\Office15
重新打开软件即可
1. 小项目功能介绍
本文通过一个小项目介绍
Python
3读写
Access
数据库(.
mdb
)的方法,该项目功能较简单,将
mdb
中的旧编码替换为新编码,新旧编码对照表放在1个excel(本文命名为新旧编码对照表.xlsx)中,功能实现主要分为三步:
1)
读取
mdb
所有的表,获取每个表的PartNumber列(旧编码所在的列)的每个编码。
2)
读取
新旧编码对照表.xlsx,找到“旧编码”和“新编...
import pypyodbc
p_path = r'专题3.3 结构化信息采集\data\贷款利率.
mdb
'
connStr = 'Driver={Microsoft
Access
Driver (*.
mdb
, *.accdb)};DBQ='+p_path+';'
conn = pyodbc.connect(connStr) # 链接数据库
二、转化为DataFr...
import win32com.client
print("Content-Type: text/html\n")
path=r'C:\\Users\\Administrator\\Desktop\\1.
mdb
' # 数据库
文件
con = win32com.client.Dispatch(r'ADODB.Connection')
DSN = 'PROVIDER=Microsoft.ACE.OLEDB.12.0;DATA SOURCE=C:\\
最近写了两个
python
的脚本不过实际意义不是很大,就是想练练
python
写程序,一直研究web方面脚本写的少多了,还有C语言也用的少多了。现在有时间得多写写程序,别把以前学到的知识给忘了。
作者: Jerk 2017.11.7
【注:代码若被编辑器转义或编码,大家可点击代码框左上角的纯文本查看】
0×02 背景
当时想到写个这个脚本是前段时间看到一个文章写的“黑吃...
只是
读取
一个
Access
数据库
文件
装入pandas数据框,着实搜了好久。
开始找到了pandas_
access
模块,精巧、语法简单,参见:https://pypi.org/project/pandas_
access
/ 。
但是按照该模块语法未能成功,原因不详、不予追究。
pyodbc模块+pandas
import pandas as pd
import pyodbc
#
文件
路径及
文件
名
mdb
_file = r'D:\userTme\test.
mdb
'
driver = '{Microsoft A
文章目录1.
读取
一个
文件
夹里所有
文件
名字2. 打开zip
文件
3. 读.
mdb
文件
1.
读取
一个
文件
夹里所有
文件
名字
① os.listdir(path)
仅当前路径下的
文件
名,不包括子目录中的
文件
import os
s_path = r'C:\Users\Desktop\标准
文件
'
os.listdir(s_path)
output:['1.zip', '2.zip', '3.zip', 'Users']
② os.walk()
遍历
文件
夹下所有的
文件
,包含子目录下的
文件
。
上面能够满足需求,暂时