如何用python连接Oracle数据库并往现有的excel文件添加内容
import cx_Oracle
import pandas as pd
from openpyxl import load_workbook
conn = None
writer = None
username = "oracle_username"
password = "oracle_password"
ip = 'oracle_server_ip'
port = oracle_port
SID = 'oracle_sid'
dsn_tns = cx_Oracle.makedsn(ip, port, SID)
conn = cx_Oracle.connect(username, password, dsn_tns)
try:
#these 4 lines below will make sure the existing worksheet will be kept
fileName = "<full path of the file>"
book = load_workbook(fileName)
writer = pd.ExcelWriter(fileName, engine='openpyxl')
writer.book = book
writer.sheets = dict((ws.title, ws) for ws in book.worksheets)
data = pd.read_sql("<sql_string>", conn)
data.to_excel(excel_writer=writer, sheet_name='myworksheet1', index=False)
writer.save() # use close in finally section
except cx_Oracle.DatabaseError as exc:
err, = exc.args
print("Oracle-Error-Code:", err.code)
print("Oracle-Error-Message:", err.message)
except cx_Oracle.Error as error:
print(error)
finally:
# release the connection
conn.close()
writer.close()