diff --git a/autobasic/hualong_clienttrader.py b/autobasic/hualong_clienttrader.py index 41c2b7f..b313f03 100644 --- a/autobasic/hualong_clienttrader.py +++ b/autobasic/hualong_clienttrader.py @@ -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()