python读取excel,转换成json格式,for国际化前端菜单

news/2024/7/21 5:51:04 标签: python, excel, json
python"># -*- coding: utf-8 -*-

import pandas as pd
import json


# 读取Excel文件中的数据
excel_file = r'D:\解析excel\中英.xlsx'
df = pd.read_excel(excel_file)

# 生成中文JSON和英文JSON
cn_data = {}
en_data = {}
pu_data = {}
special_data_cn = {}
special_data_en = {}
special_data_pu = {}


for index, row in df.iterrows():
    key = str(row.iloc[0])  # 强制将key转换为字符串类型
    value_cn = row.iloc[1]
    value_en = row.iloc[2]
    value_pu = row.iloc[3]

    if "." in key:  # 如果键名中包含 "."
        parent_key, sub_key = key.split(".", 1)  # 分割键名为父键和子键
        if parent_key not in special_data_cn:
            special_data_cn[parent_key] = {}
        childKey = key.split(".")[1]
        special_data_cn[parent_key][childKey] = value_cn
    if "." in key:  # 如果键名中包含 "."
        parent_key, sub_key = key.split(".", 1)  # 分割键名为父键和子键
        if parent_key not in special_data_en:
            special_data_en[parent_key] = {}
        childKey = key.split(".")[1]
        special_data_en[parent_key][childKey] = value_en
    if "." in key:  # 如果键名中包含 "."
        parent_key, sub_key = key.split(".", 1)  # 分割键名为父键和子键
        if parent_key not in special_data_pu:
            special_data_en[parent_key] = {}
        childKey = key.split(".")[1]
        special_data_en[parent_key][childKey] = value_pu


    else:
        cn_data[key] = value_cn
        en_data[key] = value_en
        pu_data[key] = value_pu

# 将特殊处理的JSON对象写入txt文件
with open('special_data_cn.json', 'w') as special_file:
    json.dump(special_data_cn, special_file, ensure_ascii=False, indent=4)# 将特殊处理的JSON对象写入txt文件
with open('special_data_en.json', 'w') as special_file:
    json.dump(special_data_en, special_file, ensure_ascii=False, indent=4)
with open('special_data_pu.json', 'w') as special_file:
    json.dump(special_data_pu, special_file, ensure_ascii=False, indent=4)

# 将中文JSON对象写入txt文件
with open('cn_data.json', 'w', encoding='utf-8') as cn_file:
    json.dump(cn_data, cn_file, ensure_ascii=False, indent=4)

# 将英文JSON对象写入txt文件
with open('en_data.json', 'w', encoding='utf-8') as en_file:
    json.dump(en_data, en_file, ensure_ascii=False, indent=4)
# 将葡萄牙JSON对象写入txt文件
with open('pu_data.json', 'w', encoding='utf-8') as pu_file:
    json.dump(pu_data, pu_file, ensure_ascii=False, indent=4)

结果如下:


http://www.niftyadmin.cn/n/5460649.html

相关文章

iPhone苹果手机如何打开词令抖音小程序?

根据抖音开放平台小程序版本管理提示:因系统升级,抖音iOS端25.8.0,抖音极速版iOS端27.2.0,抖音火山版iOS端26.9.0及以上版本可能无法搜索与访问小程序,安卓端和其他APP未受影响,具体恢复时间请关注平台通知…

使用Flink实现Kafka到MySQL的数据流转换:一个基于Flink的实践指南

使用Flink实现Kafka到MySQL的数据流转换 在现代数据处理架构中,Kafka和MySQL是两种非常流行的技术。Kafka作为一个高吞吐量的分布式消息系统,常用于构建实时数据流管道。而MySQL则是广泛使用的关系型数据库,适用于存储和查询数据。在某些场景…

删除单链表中重复出现的元素

算法思想:通过冒泡排序将无序单链表变成有序单链表,然后访问有序单链表中的每一对前驱和后继,若后继结点中的数据与前驱结点中的数据相同,则将后继结点删除;重复上述步骤,直到访问完链表中的每一对前驱和后…

搜索与图论——染色法判定二分图

一个图是二分图当且仅当这个图中不含奇数环 由于图中没有奇数环&#xff0c;所以染色过程中一定没有矛盾 所以一个二分图一定可以成功被二染色&#xff0c;反之在二染色的过程中出现矛盾的图中一定有奇数环&#xff0c;也就一定不是二分图 #include<iostream> #includ…

在线版的超级马里奥 Super Mario HTML5

原本是在csdn资源找个代码学习的&#xff0c;无奈下载了几份都是垃圾代码(下载了几份都是) 废话不多说&#xff0c;直接上干活。代码、音效、图片、样式都包含 <!doctype html> <html> <head> <meta charsetutf-8 /> <title>Super Mario HTML5 …

大数据设计为何要分层,行业常规设计会有几层数据

大数据设计通常采用分层结构的原因是为了提高数据管理的效率、降低系统复杂度、增强数据质量和可维护性。这种分层结构能够将数据按照不同的处理和应用需求进行分类和管理&#xff0c;从而更好地满足不同层次的数据处理和分析需求。行业常规设计中&#xff0c;数据通常按照以下…

.NET 四种序列化器:二进制、XML、SOAP、JSON

二进制序列化器&#xff1a; 在.NET中&#xff0c;可以使用BinaryFormatter来进行二进制序列化。这是一个.NET框架的序列化工具&#xff0c;可以将对象序列化为二进制格式&#xff0c;并可以将二进制数据反序列化为对象。 /// <summary> /// 二进制序列化器、 /// 最节…

嵌入式硬件中常见的面试问题与实现

1 01 请列举您知道的电阻、电容、电感品牌(最好包括国内、国外品牌) ▶电阻 美国:AVX、VISHAY威世 日本:KOA兴亚、Kyocera京瓷、muRata村田、Panasonic松下、ROHM罗姆、susumu、TDK 台湾:LIZ丽智、PHYCOM飞元、RALEC旺诠、ROYALOHM厚生、SUPEROHM美隆、TA-I大毅、TMT…