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

如何从多个含JSON数据的文本文件中提取name与phone参数及对应值

批量提取JSON字段的可行方法

方法1:使用jq命令(Linux/macOS通用,最简方案)

jq是专门处理JSON的轻量级命令行工具,确认安装jq后,在所有目标文件所在目录执行对应命令即可:

  • 直接输出结果:
jq '{phone: .data.phone, name: .data.name}' file1 file2 file3
  • 导出为CSV文件方便后续使用:
echo "phone,name" > result.csv && for f in file*; do jq -r '[.data.phone, .data.name] | @csv' $f >> result.csv; done

说明:该方案执行速度最快,适合文件量较大的场景

方法2:使用Python脚本(跨平台通用,无需额外安装命令行工具)

在目标文件目录下新建extract.py,写入以下代码:

import json
import glob

# 匹配所有file开头的目标文件
for file_path in glob.glob("file*"):
    with open(file_path, 'r', encoding='utf-8') as f:
        try:
            json_data = json.load(f)
            phone = json_data['data']['phone']
            name = json_data['data']['name']
            print(f"文件:{file_path} | 手机号:{phone} | 姓名:{name}")
            # 如需写入本地文件可取消注释下方代码
            # with open('result.txt', 'a', encoding='utf-8') as res:
            #     res.write(f"{phone},{name}\n")
        except Exception as e:
            print(f"处理文件{file_path}出错:{e}")

执行命令运行脚本:

python extract.py

说明:兼容性最好,Windows、Linux、macOS都可以直接运行,也方便自定义后续处理逻辑

方法3:PowerShell命令(Windows原生支持,无需安装额外软件)

打开PowerShell进入目标文件目录,执行以下命令:

Get-ChildItem -Filter file* | ForEach-Object {
    $json = Get-Content $_.FullName | ConvertFrom-Json
    [PSCustomObject]@{
        文件名 = $_.Name
        手机号 = $json.data.phone
        姓名 = $json.data.name
    }
} | Export-Csv -Path result.csv -NoTypeInformation -Encoding UTF8

说明:适合Windows用户不想安装额外环境的场景,结果直接导出为CSV文件


内容的提问来源于stack exchange,提问作者D - Lord

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 18:24:03