1、获取表
http://blog.sina.com.cn/s/blog_92ab5a530102wjxe.html
参考这个链接。我把操作录制下来如下所示
import pypyodbc
import time
filepath = r‘C:UserszzcDesktopScreenToGifAsset.mdb‘
# 连接mdb文件
connStr = (r‘Driver={Microsoft Access Driver (*.mdb)};DBQ=‘+filepath+‘;‘
)
conn = pypyodbc.win_connect_mdb(connStr)
# connStr = (
# r‘Driver={SQL Sever};‘
# r‘Server=sqlserver;‘
# r‘Database=bill;‘
# r‘UID=sa;‘
# r‘PWD=passwd‘
# )
#
# conn = pypyodbc.connect(connStr)
# 创建游标
cur = conn.cursor()
cur.execute(‘SELECT * FROM MSysObjects WHERE Flags=0 AND Type=1‘)
#获得第一个表的表名,为何是-6通过输出查看的
table_name = cur.fetchall()[0][-6]
print(table_name)
if conn:
#无论如何,连接记得关闭
conn.close()
2、获取指定表的内容
这里的表名要根据上一节程序获得,然后代入。同时用pandas存储数据并保存到csv文件中去。
import pypyodbc
import time
import pandas as pd
import numpy as np
filepath = r‘C:UserszzcDesktopScreenToGifAsset.mdb‘
to_filepath = r‘C:UserszzcDesktopScreenToGifa.csv‘
# 连接mdb文件
connStr = (r‘Driver={Microsoft Access Driver (*.mdb)};DBQ=‘+filepath+‘;‘
r‘Database=Asset2‘
)
conn = pypyodbc.win_connect_mdb(connStr)
# connStr = (
# r‘Driver={SQL Sever};‘
# r‘Server=sqlserver;‘
# r‘Database=bill;‘
# r‘UID=sa;‘
# r‘PWD=passwd‘
# )
#
# conn = pypyodbc.connect(connStr)
# 创建游标
cur = conn.cursor()
cur.execute(‘SELECT * FROM Asset2‘)
#获取第一条数据,返回他的长度,也就是字段长度了
columns_len = len(cur.fetchone())
#建立pandas,列数量就是上面字段数量
df = pd.DataFrame(columns=range(columns_len))
index = 0
for row in cur.fetchall():
# temp用来保存每一行的数据
temp = []
for columns in range(columns_len):
temp.append(row[columns])
df.loc[index] = temp
index+=1
#print(df)
df.to_csv(to_filepath)
if conn:
#无论如何,连接记得关闭
conn.close()
python读取数据库
原文地址:https://www.cnblogs.com/yukizzc/p/13355323.html