Python读取JSON提取数据生成CSV时无法保存到指定目录如何解决
CSV保存路径不生效问题解决方案
问题根因
- 写入文件时未使用拼接好的目标路径:你已经构造了保存目录
save_path,但实际调用open()创建CSV文件时只传入了纯文件名filename,操作系统默认将文件输出到脚本当前工作目录,目标保存路径完全没有生效。 - 存在冗余操作:通过
with上下文管理器打开的文件会自动关闭,不需要手动调用close()方法;不需要每次写入行时都新建csv.writer实例,复用同一个实例即可。
修正后完整代码
import csv import glob import json import os site = 'alpha' frequency_to_check = '196050.000' json_dir_name = 'V:/temp/test/' json_pattern = os.path.join(json_dir_name, '*.json') total_files = glob.glob(json_pattern) atten = [] timestamp = [] save_path = 'V:/python/result/' if not os.path.isdir(save_path): os.makedirs(save_path) filename = f'{site}-{frequency_to_check}.csv' # 拼接完整的文件保存路径 full_save_path = os.path.join(save_path, filename) with open(full_save_path, 'w', newline='') as csv_file: # 复用同一个writer实例,避免重复创建对象的开销 csv_writer = csv.writer(csv_file) for file in total_files: with open(file) as json_file: output_json = json.load(json_file) for key in output_json: if key['start-freq'] == frequency_to_check: csv_writer.writerow([key['start-freq'], key['attenuation']]) print(f'Total files processed {len(total_files)}')
内容的提问来源于stack exchange,提问作者Peash44
相关产品推荐
相关产品推荐

