【Python】将.xlsx文件内容读取为json格式 (Execl转换为Json)
2022/3/4 11:15:13
本文主要是介绍【Python】将.xlsx文件内容读取为json格式 (Execl转换为Json),对大家解决编程问题具有一定的参考价值,需要的程序猿们随着小编来一起学习吧!
将execl 表格数据转换为json
方法一:按列读取数据(仅支持单条case)
# coding:utf-8 import ast import json import xlrd import xlwt from base.logger import * class execl_tools: # 获取xlsx内容 def get_xlsx_data(self): xlsx_pathname = r"../data/test_110.xlsx" # 打开xlsx文件 workbook = xlrd.open_workbook(xlsx_pathname) # 根据sheetname获取内容 sheet = workbook.sheet_by_name("110") # 获取总行/列数 rownum = sheet.nrows colnum = sheet.ncols logs.debug(f"{sheet.name} sheet总行数:{rownum}") logs.debug(f"{sheet.name} sheet总行数:{colnum}") # 定义一个list content = {} # 按列获取数据 for i in range(colnum): col_value = sheet.col_values(i) # 列名包含[]时 将value值进行处理 if '[]' in col_value[0]: logs.debug(f"array需要转换为object:{col_value}") col_value[0] = str(col_value[0]).replace("[]", "") col_value[1] = ast.literal_eval(col_value[1]) else: logs.debug(col_value) content.update({col_value[0]: col_value[1]}) logs.debug(json.dumps(content, ensure_ascii=False)) if __name__ == "__main__": execl_tools().get_xlsx_data()
执行结果:
方法二:按行读取数据(支持多条case)
# 获取xlsx内容 def get_xlsx_row_data(self): xlsx_pathname = r"../data/test_110.xlsx" # 打开xlsx文件 workbook = xlrd.open_workbook(xlsx_pathname) # 根据sheetname获取内容 sheet = workbook.sheet_by_name("110") # 获取总行/列数 rownum = sheet.nrows colnum = sheet.ncols logs.debug(f"{sheet.name} sheet总行数:{rownum}") logs.debug(f"{sheet.name} sheet总行数:{colnum}") # 定义一个list content = {} # 按行读取数据 for i in range(rownum): if i != 0: row_key = sheet.row_values(0) row_value = sheet.row_values(i) # logs.debug(row_key) # logs.debug(row_value) length = len(row_key) for j in range(length): if "[]" in row_key[j]: content.update({str(row_key[j]).replace("[]", ""): ast.literal_eval(row_value[j])}) else: content.update({row_key[j]: row_value[j]}) logs.debug(content)
执行结果:
execl数据
这篇关于【Python】将.xlsx文件内容读取为json格式 (Execl转换为Json)的文章就介绍到这儿,希望我们推荐的文章对大家有所帮助,也希望大家多多支持为之网!
- 2024-05-30React Native常用组件-点击组件
- 2024-05-30uniapp+vue3+uv-ui手机端后台OA管理模板
- 2024-05-29Python网络爬虫的时候json=就是让你少写个json.dumps()
- 2024-05-27React Native常用组件-展示组件
- 2024-05-27React Native常用组件-列表组件
- 2024-05-09vue3开发前端表单缓存自定义指令,移动端h5必备插件
- 2024-05-09React Hooks在class组件中的使用方式
- 2024-03-30[OIDC in Action] 2. 基于OIDC(OpenID Connect)的SSO(纯JS客户端)
- 2024-03-29terraform jsonencode
- 2024-03-13vuex-persist