日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > python >内容正文

python

python读取连接数据库文件_python 读取配置文件 pandas连接数据库

發布時間:2025/4/5 python 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 python读取连接数据库文件_python 读取配置文件 pandas连接数据库 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

config.ini 配置文件內容:

[DATABASE]

host = 192.168.19.111

username = user

password = pass

port = 4333

database = club_ssss

charset = utf8

讀取配置文件的內容:

import configparser

import base64

from a.utils.get_path import get_file_path

class ReadConfig:

def __init__(self):

file_path = get_file_path("config","config.ini")

self.conf = configparser.ConfigParser()

self.conf.read(file_path,encoding="utf8")

def get_config_sections(self):

return self.conf.sections()

def get_config_options(self, section):

return self.conf.options(section)

def get_config_items(self, section):

return self.conf.items(section)

def get_config_str(self, section, option):

return self.conf.get(section, option)

def get_config_boolean(self, section, option):

return self.conf.getboolean(section, option)

def get_config_int(self, section, option):

return self.conf.getint(section, option)

def get_config_float(self, section, option):

return self.conf.getfloat(section, option)

if __name__ == '__main__':

rc = ReadConfig()

print(rc.get_config_sections())

print(rc.get_config_options('DATABASE'))

print(rc.get_config_items('DATABASE'))

print(rc.get_config_str('DATABASE', 'host'))

data_base = rc.get_config_int("DATABASE","port")

print(type(data_base))

print(data_base)

返回結果:

['DATABASE']

['host', 'username', 'password', 'port', 'database', 'charset']

[('host', '192.168.19.111'), ('username', 'user'), ('password', 'pass'), ('port', '4333'), ('database', 'club_ssss'), ('charset', 'utf8')]

192.168.19.111

4333

公用的獲取路徑的方法:

def get_file_path(path,file):

project_name = "A_shop"

curPath = os.path.abspath(os.path.dirname(__file__))

rootPath = curPath[:curPath.find(project_name + "\\") + len(project_name + "\\")]

return rootPath + path + '\\' + file

python源碼連接數據庫,得到想要的數據

from a.utils.read_config import ReadConfig

import pandas as pd

from sqlalchemy import create_engine

def get_mysql_data_pd(rc,sql):

# MySQL的用戶名:user, 密碼:pass, 端口:4333,數據庫:club_ssss

# connect_info = 'mysql+pymysql://user:pass@192.168.19.219:4333/club_ssss?charset=utf8'

# engine = create_engine('mysql+pymysql://user:pass@192.168.19.219:4333:4333/club_ssss')

connect_info = 'mysql+pymysql://{username}:{password}@{host}:{port}/{db}?charset=utf8'.format(

username = rc.get_config_str('DATABASE', 'username'),

password = rc.get_config_str('DATABASE', 'password'),

host = rc.get_config_str('DATABASE', 'host'),

port = rc.get_config_str('DATABASE', 'port'),

db = 'club_shop')

engine = create_engine(connect_info)

df = pd.read_sql_query(sql, engine)

# super_merchant_code = df['super_merchant_code']

# merchant_code = df['merchant_code']

# order_no = df['order_no']

return df

if __name__ == '__main__':

# 讀取配置文件的數據庫參數

rc = ReadConfig()

# 查詢語句,選出訂單表中需要的所有數據

sql = '''SELECT so.super_merchant_code,so.merchant_code,so.order_no

FROM `shop_order_2020_10_12` so

WHERE so.`super_merchant_code`='EW_N2012672104'

AND so.order_status = 1

AND so.pay_type IN(0,1)

AND so.pay_status = 1'''

df = get_mysql_data_pd(rc,sql)

# 打印看效果

for i in range(len(df)):

print('{} super_merchant_code: {}'.format(i,df['super_merchant_code'][i]))

print('{} merchant_code: {}'.format(i,df['merchant_code'][i],i))

print('{} order_no: {}'.format(i,df['order_no'][i]))

返回結果:

0 super_merchant_code: EW_N2012672111

0 merchant_code: EW_N2850192333

0 order_no: 20201012101342444

1 super_merchant_code: EW_N201267211

1 merchant_code: EW_N2850192333

1 order_no: 2020101210193097279123

2 super_merchant_code: EW_N2012672111

2 merchant_code: EW_N2850192333

2 order_no: 20201012142445112

總結

以上是生活随笔為你收集整理的python读取连接数据库文件_python 读取配置文件 pandas连接数据库的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。