文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

python-将excel表格中的数据转化为json数据格式

2023-09-02 19:28

关注

excel表格中的数据,转化为json格式,再用程序去处理json数据,是常见的数据处理方式。这样可以实现按照需求去做数据处理。

除了python环境外,主要用到读取excel文件的库,以及json数据格式处理库。
常用的excel库:

openpyxl: 可以用来读写Excel文件的库。可以处理.xlsx文件,支持读取和写入单元格、行、列等操作。
xlrd:可以用来读取Excel文件的库。可以处理.xls文件,包括读取单元格、行、列等操作。

json库:

json:Python自带的JSON解析库,支持将JSON字符串解析成Python对象,也支持将Python对象转换为JSON字符串。
requests:第三方库requests可以快速发送HTTP请求,并自动解析JSON数据。

软件的安装:
例如,openpyxl的安装方式如下:

pip install openpyxl

workbook对象:对应于一个excel文件
Sheet对象:对应于一个sheet
单元格对象:sheet中的一个单元格
行:sheet中的行
列:sheet中的列

openpyxl和xlrd都支持以上概念,都有对应的获取方法。

例子1: 用openpyxl来进行excel的处理,json库来进行json数据的处理。

# -*- coding: utf-8 -*-import osimport sysimport openpyxlimport jsonimport io# 将json保存为文件def save2json(jd, json_file_name):    file = io.open(json_file_name, 'w', encoding='utf-8')    # 把对象转化为json对象    # indent: 参数根据数据格式缩进显示,读起来更加清晰    # ensure_ascii = True:默认输出ASCII码,如果把这个该成False, 就可以输出中文。    txt = json.dumps(jd, indent=2, ensure_ascii=False)    file.write(txt)    file.close()# excel表格转json文件def excel2json(excel_file, json_file_name):    # 加载工作薄    book = openpyxl.load_workbook(excel_file)    # 获取sheet页    sheet = book["Sheet1"]    # 行数    max_row = sheet.max_row    # 列数    max_column = sheet.max_column    print("max_row: %d, max_column: %d" % (max_row, max_column))    # 结果,数组存储    result = []    heads = []    # 解析表头    for column in range(max_column):        # 读取的话行列是从(1,1)开始        heads.append(sheet.cell(1, column + 1).value)    # 遍历每一行    for row in range(max_row):        if row == 0:            continue        one_line = {}        for column in range(max_column):            # 读取第二行开始每一个数据            k = heads[column]            cell = sheet.cell(row + 1, column + 1)            value = cell.value            one_line[k] = value        print(one_line)        result.append(one_line)    book.close()    # 将json保存为文件    save_json_file(result, json_file_name)#mainif '__main__' == __name__:     excel2json(u't1.xlsx', 'res.json')

例子2: 用xlrd来读取excel文件:

# -*- coding: utf-8 -*-import osimport sysimport jsonimport ioimport xlrd# 打开Excel文件,返回workbook对象wb = xlrd.open_workbook('a.xls')# 获取Sheet对象sheet = wb.sheet_by_name('Sheet1')# 读取某单元格的数据print(sheet.cell_value(0, 0))# 读取某行数据,返回一个列表row = sheet.row_values(1)print(row)# 读取某列数据,返回一个列表column = sheet.col_values(0)print(column)# 循环读取多行数据for i in range(sheet.nrows):row = sheet.row_values(i)print(row)

例子3: 用requests来处理网络数据:

import requestsurl = 'http://api.mytest.com/v1/user'response = requests.get(url)# 解析JSON数据data = response.json()print(data)# 访问JSON数据的某一项name = data[0]['name']print(name)

以上,就是本篇的内容了。

来源地址:https://blog.csdn.net/liranke/article/details/129891040

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯