Python—Excel轉Json工具


Python工具Excel轉Json

前置條件

1.安裝python

下載python 我下載的是2.7;

2.配置環境變量

我的電腦右鍵——屬性——高級系統設置——環境變量;

image-20211103163708505

添加python的安裝路徑:

image-20211103163757740

3.安裝openpyxl庫

打開cmd控制台;

win+R搜索,輸入cmd進入控制台;

切換到pip路徑,在python安裝路徑中scripts文件夾下;

image-20211103164103760

1)控制台輸入 cd C:\Python27\Scripts

2)控制台輸入 pip install openpyxl

image-20211103164226283

4.測試安裝庫是否成功

打開python.exe,輸入import openpyxl;不報錯代表導入成功;

image-20211103164346558

使用方式

創建txt復制以下代碼,重命名后綴改為.py;

因為當做工具用就不解釋了;

import openpyxl
import json
import io

# excel表格轉json文件
def excel_to_json(excel_file, json_f_name):
    jd = []
    heads = []
    book = openpyxl.load_workbook(excel_file)
    sheet = book[u'Sheet1']
    
    max_row = sheet.max_row
    max_column = sheet.max_column
    # 解析表頭
    for column in range(max_column):
        heads.append(sheet.cell(1, column + 1).value)
    # 遍歷每一行
    for row in range(max_row):
        if row < 2:
        	# 前兩行跳過
            continue
        one_line = {}
        # 遍歷一行中的每一個單元格
        for column in range(max_column): 
            k = heads[column]
            v = sheet.cell(row + 1, column + 1).value
            one_line[k] = v
        jd.append(one_line)
    book.close()
    # 將json保存為文件
    save_json_file(jd, json_f_name)

# 將json保存為文件
def save_json_file(jd, json_f_name):
    f = io.open(json_f_name, 'w', encoding='utf-8')
    txt = json.dumps(jd, indent=2, ensure_ascii=False)
    f.write(txt)
    f.close()

if '__main__' == __name__:
     excel_to_json(u'test.xlsx', 'task_cfg.bytes')

image-20211103164601600

第一個為需要轉json的excel文件名,第二個需要導出的二進制文件名;

excel文件要和py代碼文件放在同級目錄;

image-20211103165403352

右鍵Edit with IDLE, F5 Run執行腳本;

image-20211103165528344

右鍵記事本打開bytes文件;

image-20211103165731801

LitJson庫

Unity中調用Json文件;

我這里使用的LitJson,一個非常簡單輕量的庫;https://litjson.net/

直接導入項目或者打包成dll放進項目;

使用時只需要讀取Txt文本,轉成string,直接調用Api即可,支持數組;

image-20210926094154640

以上是用excel轉json的工具;

優化方向,批量轉化文件夾中所有的excel,轉化話自動存儲到項目所需的目錄,通過簡單io操作可以完成;


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM