当前位置:Gxlcms > 数据库问题 > python读取数据库

python读取数据库

时间:2021-07-01 10:21:17 帮助过:29人阅读

pypyodbc import time filepath = rC:\Users\zzc\Desktop\ScreenToGif\Asset.mdb # 连接mdb文件 connStr = (rDriver={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 = rC:\Users\zzc\Desktop\ScreenToGif\Asset.mdb
to_filepath = rC:\Users\zzc\Desktop\ScreenToGif\a.csv
# 连接mdb文件
connStr = (rDriver={Microsoft Access Driver (*.mdb)};DBQ=+filepath+;
           rDatabase=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读取数据库

标签:flags   file   import   exe   use   imp   nump   文件中   database   

人气教程排行