You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

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

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.27 12:06:01