This commit is contained in:
EDY 2025-07-11 15:03:14 +08:00
parent 3410f4b0ba
commit d328d8b019

View File

@ -201,7 +201,7 @@ class HLClientTrader:
#设置主窗口及菜单窗口
self.main_wnd = self._app.window(title_re='通达信网上交易*')
self.main_wnd = self._app.window(title_re='通达信网上交易.*')
self.left_wnd = self.main_wnd.window(class_name='SysTreeView32', control_id=0xE900)
@ -423,8 +423,9 @@ class HLClientTrader:
time.sleep(1)
self._output_data()
date = str(datetime.date.today()).replace('-', '')
balance = pd.read_csv(fr'C:\Users\EDY\Documents\{date} 资金股份查询.xls', encoding='gbk', sep='\t', nrows=2,
error_bad_lines=False)
filename = f'C:\\Users\\EDY\\Documents\\{str(datetime.date.today()).replace("-","")}{self.account_name}.xls'
balance = pd.read_csv(filename, encoding='gbk', sep='\t', engine='python', error_bad_lines=False)
os.remove(filename)
result = balance[['="参考市值"', '="可用"', '="资产"']]
balance['Position_amount'] = float(result['="参考市值"'].values[0].replace('"', '').replace('=', ''))
balance['Cash'] = float(result['="可用"'].values[0].replace('"', '').replace('=', ''))
@ -436,22 +437,24 @@ class HLClientTrader:
print(df_every_money)
return df_every_money
def _output_data(self):
self._app.top_window().set_focus()
time.sleep(1)
time.sleep(2)
# try:
# time.sleep(1)
self.main_wnd.window(control_id=0x0, class_name='#32770',found_index = 0).window(control_id=0x47F, class_name='Button').click()
print("5")
self._app.top_window().set_focus()
# while True:
# try:
# self._app.top_window().window(title='确认另存为').wait("ready")
# break
# except RuntimeError:
# pass
self._app.top_window().window(control_id=0xE9, class_name='Button',found_index = 0).click()
self._app.top_window().window(control_id=0x1, class_name='Button', found_index=0).click()
self._app['输出'].window(control_id=0xE9, class_name='Button').click()
self._app['输出'].window(control_id=0xEB, class_name='Button').click()
self._app.window(title_re='另存为').window(control_id=0x480, class_name='Edit', found_index=0).type_keys(
str(datetime.date.today()).replace("-", "") + self.account_name)
self._app.window(title_re='另存为').set_focus()
self._app.window(title_re='另存为').window(control_id=0x1, class_name='Button', found_index=0).click()
# except Exception:
# print('无输出的数据!')
self._app['输出'].window(control_id=0x1, class_name='Button').click()
try:
self._app['确认另存为'].window(control_id=0x0, class_name='#32770').click()
except:
pass
# self._app.top_window().window(control_id=0x2, class_name='Button', found_index=0).click()
time.sleep(2)
# self._app.top_window().set_focus()
@ -479,9 +482,13 @@ class HLClientTrader:
time.sleep(1)
self._output_data()
date = str(datetime.date.today()).replace('-','')
position = pd.read_csv(fr'C:\Users\EDY\Documents\{date} 资金股份查询.xls', encoding='gbk', sep='\t',
skiprows=3, error_bad_lines=False).applymap(
filename = f'C:\\Users\\EDY\\Documents\\{str(datetime.date.today()).replace("-", "")}{self.account_name}.xls'
position = pd.read_csv(filename, encoding='gbk', sep='\t', engine='python', error_bad_lines=False,skiprows=3).applymap(
lambda x: x.replace('"', '').replace('=', '') if isinstance(x, str) else x)
os.remove(filename)
# position = pd.read_csv(fr'C:\Users\EDY\Documents\{date} 资金股份查询.xls', encoding='gbk', sep='\t',
# skiprows=3, error_bad_lines=False).applymap(
# lambda x: x.replace('"', '').replace('=', '') if isinstance(x, str) else x)
position.columns = [i.replace('"', '').replace('=', '') for i in list(position.columns)]
# 检查是否有持仓数据
@ -547,9 +554,13 @@ class HLClientTrader:
time.sleep(1)
self._output_data()
date = str(datetime.date.today()).replace('-','')
trades = pd.read_csv(fr'C:\Users\EDY\Documents\{date} 当日成交查询.xls', encoding='gbk', sep='\t',
error_bad_lines=False).applymap(
# trades = pd.read_csv(fr'C:\Users\EDY\Documents\{date} 当日成交查询.xls', encoding='gbk', sep='\t',
# error_bad_lines=False).applymap(
# lambda x: x.replace('"', '').replace('=', '') if isinstance(x, str) else x)
filename = f'C:\\Users\\EDY\\Documents\\{str(datetime.date.today()).replace("-", "")}{self.account_name}.xls'
trades = pd.read_csv(filename, encoding='gbk', sep='\t', engine='python', error_bad_lines=False).applymap(
lambda x: x.replace('"', '').replace('=', '') if isinstance(x, str) else x)
os.remove(filename)
trades.columns = [i.replace('"', '').replace('=', '') for i in list(trades.columns)]
# 检查是否有成交数据
@ -739,7 +750,7 @@ class HLClientTrader:
self._app.window(control_id=0x0, class_name='#32770').window(control_id=0x1B67, class_name='Button').click()
if __name__ == '__main__':
account_name = str('13753170507')
account_name = str('15935756162')
a = HLClientTrader(account_name)
a.login()