帮我编写一个python脚本,先由用户输入查询日期,然后连接oracle服务器,执行一段查询语句,查询语句限定查询日期为输入日期,将查询结果保存在脚本所在目录的“查询日期”+WMS出库记录.xlsx表格中
时间: 2023-12-06 15:05:30 浏览: 65
好的,以下是一个Python脚本,可以实现您的需求:
```python
import cx_Oracle
import pandas as pd
import datetime
# 获取用户输入的日期
query_date = input("请输入查询日期(格式为YYYY-MM-DD):")
# 连接Oracle数据库
conn = cx_Oracle.connect('username/password@hostname:port/service_name')
cursor = conn.cursor()
# 执行查询语句,查询指定日期的WMS出库记录
query_sql = f"SELECT * FROM WMS_OUTBOUND_RECORDS WHERE OUTBOUND_DATE = TO_DATE('{query_date}', 'YYYY-MM-DD')"
cursor.execute(query_sql)
# 将查询结果转换为DataFrame格式
df = pd.read_sql(query_sql, conn)
# 将查询结果保存为Excel文件
filename = f"{query_date} WMS出库记录.xlsx"
df.to_excel(filename, index=False)
# 关闭连接和游标
cursor.close()
conn.close()
print(f"查询结果已保存到文件 {filename} 中。")
```
您需要将其中的 `username`、`password`、`hostname`、`port`、`service_name` 替换为您自己的 Oracle 数据库连接信息。同时,您需要安装 `cx_Oracle` 和 `pandas` 两个库,可以使用以下命令进行安装:
```
pip install cx_Oracle pandas
```
当脚本执行完毕后,查询结果将保存在脚本所在目录下,文件名为输入的查询日期加上“WMS出库记录.xlsx”。
阅读全文