```python import pandas as pd def read_tdx_trader_stock(self, path=r'c:\new_tdx\t0002\blocknew\buy.blk'): ''' 读取通达信板块自选股交易 ''' try: stock_list = [] with open(path, 'r+', encoding='gbk') as f: # 指定文件编码 lines = f.readlines() for line in lines: line = line.strip() # 去除每行首尾空白字符 if len(line) > 0: stock_list.append(line) df = pd.DataFrame() # 创建空 DataFrame df['证券代码'] = stock_list # 添加股票代码列 df['证券代码'] = df['证券代码'].apply(lambda x: str(x).zfill(6)) # 确保股票代码为6位数 return df # 返回 DataFrame except Exception as e: print(f"读取文件时发生错误: {e}") return None ``` 需要注意的逻辑点: 1. 文件编码:在打开文件时指定了 `encoding='gbk'`,确保可以正确读取中文字符。如果文件编码不同,需要调整这里的编码设置。 2. 数据清洗:使用 `strip()` 方法去除每行的空白字符,确保数据的干净。 3. 股票代码格式:使用 `zfill(6)` 方法确保股票代码始终为6位数,避免因长度不一致导致的问题。 [2024-12-07 13:53:39 | AI写代码神器 | 340点数解答]