python實現讀取“\168.63.22.177\台账\境内互换”下的excel文件“境内收益互换-230522-逐笔盯保”,讀取sheet“現金流水表”,讀取“流水確認日”為“2023/5/19”的所有B列“交易確認書編號”,若沒有值,則輸出“當日無平倉逐筆合約”,若有值,將讀取的交易確認書編號在excel文件“境内收益互换-230522-逐笔盯保”的sheet“持倉明細”中的B列“合同編號”中搜索,找到對應行,輸出該筆合約的S列合約乘數和Q列數量,同時將讀取的將以確認書編號在excel文件“境内收益互换-230522-逐笔盯保”的sheet“現金流水表”中的B列“交易確認書編號”中搜索,找到對應行,輸出該筆合約的J列終止數量、I列終止標的價格
时间: 2023-08-23 21:06:46 浏览: 31
好的,根据您的要求,可完成以下 Python 代码实现:
```python
import openpyxl
# 指定文件路径和表名
file_path = r"\\168.63.22.177\台账\境内互换\境内收益互换-230522-逐笔盯保.xlsx"
sheet_name_cash_flow = "現金流水表"
sheet_name_position = "持倉明細"
# 打开工作簿并读取指定表
wb = openpyxl.load_workbook(file_path)
sheet_cash_flow = wb[sheet_name_cash_flow]
sheet_position = wb[sheet_name_position]
# 目标日期
target_date = "2023/5/19"
# 查找目标日期的交易确认书编码
confirm_num_list = []
for row in sheet_cash_flow.iter_rows(min_row=2, values_only=True):
if row[2] == target_date:
confirm_num_list.append(row[1])
if not confirm_num_list:
print("当日无平仓逐笔合约")
else:
for confirm_num in confirm_num_list:
# 在持仓明细中查找合同编码
for row in sheet_position.iter_rows(min_row=2, values_only=True):
if row[0] == confirm_num:
print("合同编码:", confirm_num)
print("合同乘数:", row[18])
print("合同数量:", row[17])
print("终止数量:", row[9])
print("终止标的价:", row[8])
```
请问还有其他问题吗?