Python脚本从TXT读取股票代码作为API变量失败,求错误排查
问题排查与解决思路
常见读取TXT文件的错误点及修复
1. 未处理换行符/空白字符
从TXT读取的字符串常带有\n换行符或首尾空格,直接拼接API URL会导致请求无效。
错误示例代码:
with open('stocks.txt', 'r') as f: stock_list = f.readlines() for stock in stock_list: url = f'https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol={stock}&apikey=YOUR_KEY' # 请求代码...
修复方式:用strip()去除首尾空白字符,同时过滤空行:
with open('stocks.txt', 'r') as f: stock_list = [line.strip() for line in f if line.strip()] for stock in stock_list: url = f'https://www.alphavantage.co/query?function=TIME_SERIES_DAILY&symbol={stock}&apikey=YOUR_KEY' # 后续请求逻辑...
2. 文件路径错误
若TXT文件不在脚本运行的当前目录,会触发FileNotFoundError。
修复方式:
- 将TXT文件放在脚本同一目录,或使用绝对路径:
file_path = '/Users/yourname/Documents/stocks.txt' # 替换为你的实际绝对路径 with open(file_path, 'r') as f: stock_list = [line.strip() for line in f if line.strip()]
3. 编码格式不匹配
如果TXT文件使用非UTF-8编码(如GBK),读取时会出现乱码或报错。
修复方式:指定编码格式:
with open('stocks.txt', 'r', encoding='gbk') as f: stock_list = [line.strip() for line in f if line.strip()]
验证读取结果的小技巧
在发起API请求前,先打印读取到的股票代码列表,确认格式正确:
print("读取到的股票代码:", stock_list)
若输出包含空字符串、None或带换行符的内容,说明读取逻辑需要调整。
核心排查方向
硬编码能正常运行,说明API请求逻辑无问题,问题必然出在TXT文件读取环节,重点确保读取后的列表元素与硬编码的格式完全一致(比如纯大写股票代码、无多余字符)。
内容的提问来源于stack exchange,提问作者chorink65
相关产品推荐
相关产品推荐

