读取目录下Excel文件,转换成同名Json文件(multi-excel2json.py)

2 篇文章 0 订阅
2 篇文章 0 订阅

#!/usr/bin/python
# coding:utf-8

import json
import pandas as pd
import os

import datetime

# 脚本文件要跟excel文件放在同一路径下,也可以自行修改
files = os.listdir() # 路径
files.sort()

print('Convert Started!')

for file in files:
    # 如果是不.xlsx文件则跳过
    if '.xlsx' not in file:
        continue
    print('converting ' + file)
  # 读取Excel文件
    df_excel = pd.read_excel(file)
        
    # 将DataFrame对象转换成字典
    df_dict = df_excel.to_dict(orient='records')
    
    class DateEncoder(json.JSONEncoder):
        def default(self, obj):
            if isinstance(obj, datetime.datetime):
                return obj.strftime("%Y-%m-%dT%H:%M:%S")
            else:
                return json.JSONEncoder.default(self, obj)
        
    # 转换成JSON格式
    json_str = json.dumps(df_dict, ensure_ascii=False, cls=DateEncoder)

    # 存为同名的json文件 # 写入文件
    with open((file.replace('.xlsx', '') + '.json'), 'w', encoding='utf-8') as f:
        f.write(json_str)

print('Convert Done!')

运行: > python multi-excel2json.py

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
### 回答1: 可以使用Python中的pandas库来读取Excel文件,然后将数据转换为字典格式,最后使用json库将字典转换为json格式。示例代码如下: ```python import pandas as pd import json # 读取Excel文件 df = pd.read_excel('data.xlsx') # 将数据转换为字典格式 data = df.to_dict(orient='records') # 将字典转换为json格式 json_data = json.dumps(data, ensure_ascii=False) print(json_data) ``` 其中,'data.xlsx'是Excel文件的路径,'ensure_ascii=False'参数可以保证中文字符不被转义为Unicode编码。 ### 回答2: 使用PythonExcel数据转换为JSON格式的方法如下: 首先,需要安装openpyxl库。通过pip install openpyxl命令进行安装。 然后,导入openpyxl库,并读取Excel文件。使用load_workbook()函数加载Excel文件,然后选择要读取的工作表。 接下来,获取Excel文件中的数据。使用iter_rows()函数遍历每一行数据,并将数据存储在一个列表中。 创建一个空的字典对象,并将Excel数据逐行添加到字典中。 最后,使用json库的dumps()函数将字典对象转换为JSON格式,并将其保存到一个新的文件中。将文件名和保存路径作为参数传递给open()函数,并指定写入模式。 以下是一个示例代码: ```python import openpyxl import json # 读取Excel文件 workbook = openpyxl.load_workbook('data.xlsx') sheet = workbook.active data = [] # 获取Excel文件中的数据 for row in sheet.iter_rows(values_only=True): # 将每行数据存储在字典对象中 row_data = {} row_data['column1'] = row[0] # 第一列数据 row_data['column2'] = row[1] # 第二列数据 data.append(row_data) # 将数据转换为JSON格式 json_data = json.dumps(data, indent=4, ensure_ascii=False) # 将JSON数据保存到文件 with open('data.json', 'w', encoding='utf-8') as file: file.write(json_data) ``` 在上述代码中,data.xlsx是包含Excel数据的文件名。通过调用openpyxl库中的load_workbook()函数,加载并打开Excel文件。然后,从工作表中的每一行数据中读取数据,并将其存储在一个列表中。接下来,通过调用json库中的dumps()函数,将数据转换为JSON格式。最后,使用open()函数将JSON数据保存到一个新的文件中,文件名为data.json文件的保存路径可以根据需要进行修改。 ### 回答3: 要使用PythonExcel数据转换成JSON格式,我们可以使用第三方库pandas和xlrd来处理Excel文件。 首先,我们需要安装pandas和xlrd库。可以使用以下命令: ```python pip install pandas xlrd ``` 然后,我们可以使用pandas库中的read_excel函数来读取Excel文件,并将其转换为DataFrame对象。假设Excel文件名为data.xlsx,包含两列数据「列1」和「列2」,可以使用以下代码: ```python import pandas as pd df = pd.read_excel('data.xlsx') ``` 接下来,我们可以使用DataFrame的to_json方法将数据转换为JSON格式。如果想要每个条目作为一个对象,可以指定orient参数为'records'。如果想要将每个条目作为一个列表项,可以指定orient参数为'list'。以下代码将数据转换为JSON字符串并打印出来: ```python json_data = df.to_json(orient='records') print(json_data) ``` 最后,我们可以将JSON字符串写入到文件中,可以使用以下代码: ```python with open('data.json', 'w') as json_file: json_file.write(json_data) ``` 以上就是使用PythonExcel文件转换为JSON格式的基本步骤。通过这种方法,我们可以方便地将Excel数据转换为能够在其他应用程序中使用的JSON格式。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

TonyH2002

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值