我在 python 中的代码无法将我的 json 文件转换为 UTF-8 格式的 exel,并且我的 exel 返回这个字符“�”,对于大写和重音符号,例如:“Á”。我的代码:
import json
import pandas as pd
import os
from openpyxl import Workbook
caminho = "C:/Users/Braian/Documents/Área de Trabalho/Braian/VS Code/appAPI/JSON/Cliente"
lista_arquivos = os.listdir(caminho)
lista_datas = []
for arquivo in lista_arquivos:
# Descobrir data arquivo
if ".json" in arquivo:
data = os.path.getmtime(f'{caminho}/{arquivo}')
lista_datas.append((data, arquivo))
# data inicial = 01/01/2021
# data1 = 02/01/2021 -> 10.000
# data2 = 12/02/2021 -> 150.000
lista_datas.sort(reverse=True)
ultimo_arquivo = lista_datas[0]
# Abaixo eu irei converter o arquivo Json em XLSX
print("\nConvertendo seu arquivo em Json para Xlsx...")
# Obtém os dados que eu preciso
with open(os.path.join(caminho, ultimo_arquivo[1]), encoding='utf-8-sig') as json_file:
data = json.load(json_file)
df = pd.DataFrame(data['data']['rows'])
# Seta o nome do arquivo
nome_arquivo = f"{caminho}/Cliente.xlsx"
# Cria um objeto Workbook do openpyxl
workbook = Workbook()
worksheet = workbook.active
# Adiciona os dados ao Worksheet
for row_data in data['data']['rows']:
worksheet.append(list(row_data.values()))
# Salva o arquivo
workbook.save(nome_arquivo)
print("\nArquivo em Xlsx foi finalizado!")
我尝试转换更多编码,例如“UTF-8”、“UTF-16”、“LATIN-1”等。