从CSV读取交易代码时遇Python语法错误,请求技术支持
问题解决:Python语法错误及代码优化
错误原因分析
你遇到的SyntaxError根源有两点:
f.close缺少括号,函数调用必须写成f.close();- 更关键的是,你使用了
with上下文管理器处理文件,完全不需要手动调用close()——with块执行结束后,Python会自动关闭文件,手动调用属于多余操作,甚至可能引发后续错误。
修正后的文件读取代码段
#read ticker symbols from a file to python list object named symbol symbol = [] with open(r'C:/Users/nassir005/Documents/python/ExhangeSymbols.csv') as f: for line in f: symbol.append(line.strip()) # 无需手动调用f.close(),with会自动关闭文件
额外代码优化建议
你的路径拼接部分存在隐患:path_out+file_out会导致路径缺失分隔符,生成无效路径,建议改用os.path.join保证跨平台兼容性:
#set path for csv file path_out = 'C:/Users/nassir005/Documents/python/ouput' file_out = 'yahoo_prices_volumes_for_ExchangeSymbols_from_01012009_07102019.csv' # 用os.path.join拼接路径 full_path = os.path.join(path_out, file_out) # 后续写入时使用full_path if i == 0: df.to_csv(full_path) else: df.to_csv(full_path, mode='a', header=False)
内容的提问来源于stack exchange,提问作者Kamval
相关产品推荐
相关产品推荐

