Ugrás a fő tartalomra

Oracle adatbázis használata python-ből

 




Minta:

import cx_Oracle

import pandas as pd

import datetime

 

## Mai dátum string kinyerése

dt = datetime.datetime.now()

print(dt)

dts = '{:%Y%m%d}'.format(dt)

 

dsn_tns = cx_Oracle.makedsn('aixt.hu', '199593', service_name='E0')

con = cx_Oracle.connect(user=r'H91', password='LJk', dsn=dsn_tns)

 

## -------1. riport.

sql_com = """

----- havi zárások alakulása

select   end_date, cl_type, cl_start, cl_end,

round((cl_end - cl_start)*24,2) as zaras_ora,

round((PRELOAD_END - PRELOAD_START)*24,2) as pl_fut_ora,

round((LOAD_END – LOAD_START)*24,2) as lo_S1_fut_ora

from h_k.kiv_status where end_date >= date'2021-01-01'

and cl_type = 1 --- 0 : napi zárások / 1:  havi zárások

order by 1 desc  --- / 1710  Rows  / toltés státusz   

"""

 

### SQL futtatása és eredmény pandas dataframe-be

df_ora = pd.read_sql(sql_com, con)

 

 

### Excel filebe mentes

# Excel írható objektum létrehozása

# writer = pd.ExcelWriter(r'c:/temp/kl/kiv_riport_01_'+ dts +'.xlsx')               ## helyi merevlemez

writer = pd.ExcelWriter(r'z:/Pub/KI/riport/riport_havi_z_'+ dts +'.xlsx')     ## hálózati hely

 

# Pandas dataframe excelbe írása

df_ora.to_excel(writer, index=False)

 

# Az excel állomány mentése

writer.save()

writer.close()

 

#### Vége

 

 

# Erőforrás felszabadítás

con.close()

 

dt = datetime.datetime.now()

print(dt)

 

Megjegyzések