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

如何用PowerShell将TXT文件转换为带时间戳键的JSON文件?

实现TXT转带时间戳键的JSON文件

需求说明

原始TXT文件内容:

orange : 1
blue : 2
yellow : 3

目标JSON格式(包含YYYYMMDD格式时间戳键):

{ "colors-20220906" : {
     "orange" : 1,
     "blue" : 2,
     "yellow" : 3
  }
}

Python实现方案

直接用Python脚本处理,灵活易修改:

import json
from datetime import datetime

# 读取目标TXT文件
with open('colors.txt', 'r', encoding='utf-8') as txt_file:
    lines = txt_file.readlines()

# 解析每行的颜色与数值
color_data = {}
for line in lines:
    clean_line = line.strip()
    if not clean_line:
        continue
    color, num = clean_line.split(' : ')
    color_data[color.strip()] = int(num.strip())

# 生成时间戳(当前日期,格式YYYYMMDD)
# 若需指定固定日期,替换成 timestamp = "20220906"
timestamp = datetime.now().strftime('%Y%m%d')
# 构造最终JSON结构
result_json = {f"colors-{timestamp}": color_data}

# 写入JSON文件,保留缩进格式
with open('colors_result.json', 'w', encoding='utf-8') as json_file:
    json.dump(result_json, json_file, indent=4)

Linux Shell实现方案

适合无Python环境的Linux系统:

#!/bin/bash

# 生成当前日期的时间戳,格式YYYYMMDD
# 指定固定日期则替换为:timestamp="20220906"
timestamp=$(date +%Y%m%d)

# 生成JSON文件头部
echo "{ \"colors-$timestamp\" : {" > colors_result.json
# 解析TXT并生成键值对行,最后移除末尾逗号
awk -F' : ' '{printf "     \"%s\" : %d,\n", $1, $2}' colors.txt | sed '$ s/,$//' >> colors_result.json
# 生成JSON文件尾部
echo "  }
}" >> colors_result.json

内容的提问来源于stack exchange,提问作者kgv34

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.19 21:55:27