首页 > 编程语言 >使用 Python 处理 Excel 表格数据的实用技巧

使用 Python 处理 Excel 表格数据的实用技巧

时间:2024-06-03 20:59:04浏览次数:16  
标签:case 实用技巧 表格 Python Excel students dict key

简介

在日常工作中,处理 Excel 表格数据是一项常见的任务。Python 提供了丰富的库和工具,能够帮助我们高效地处理 Excel 数据。本篇博客将介绍如何使用 openpyxl 库来读取 Excel 表格并进行数据处理,同时展示一个实际案例,说明如何从 Excel 表格中提取数据并转换为 JSON 格式进行存储。

准备工作

在开始之前,确保你已经安装了 openpyxl 库。如果尚未安装,可以通过以下命令进行安装:

pip install openpyxl

读取 Excel 表格

首先,我们需要使用 openpyxl 库来读取 Excel 表格数据。下面是读取 Excel 表格的基本步骤:

  1. 获取表格的工作簿对象
  2. 得到表单(sheet)
  3. 获取单元格数据
  4. 获取单元格数据的值
# 代码示例
from openpyxl import load_workbook
import pathlib

# 获取excel的相对路径
cur_path = pathlib.Path(__file__).absolute()
excel_path = cur_path.parent / "B题附件1.xlsx"

# 获取工作簿对象
wb = load_workbook(excel_path)

# 获取表单——sheet
sheet = wb["选课情况"]

# 获取单元格数据
cell_value = sheet.cell(row=2, column=2).value

数据处理与转换

接下来,我们将介绍如何利用 Python 对 Excel 表格中的数据进行处理和转换。在本例中,我们将演示如何将 Excel 表格中的数据转换为 JSON 格式并进行存储。以下是代码示例:

# 代码示例
import json

# 获取表单中所有的数据 -- 转化为列表
datas = list(sheet.values)
# 取出标题
title = datas[0]

# 再一次获取后续的每一行数据,跟title压缩成字典
case_list = []
for case in datas[1:]:
    case_dict = dict(zip(title, case))
    case_list.append(case_dict)

# 存储学生的字典
students_dict = {}

# 遍历原始数据,按照选课情况将学生存储到相应的列表中
for student in case_list:
    courses = [key for key, value in student.items() if key != '学生' and key != '行政班' and value == 1]
    key = tuple(courses)  # 以选课情况作为键
    if key not in students_dict:
        students_dict[key] = []
    students_dict[key].append(student['学生'])

# 输出存储结果
print(students_dict)

# 将结果转化为 JSON 格式并存储到文件中
students_dict = {str(key): value for key, value in students_dict.items()}
with open('data.json', 'w', encoding='utf-8') as f:
    json.dump(students_dict,f,ensure_ascii=False,indent=4)

总结

本文介绍了如何使用 Python 中的 openpyxl 库来处理 Excel 表格数据,并提供了一个实际案例,展示了从 Excel 表格中提取数据并转换为 JSON 格式的过程。希望本文能够帮助读者更好地利用 Python 处理 Excel 数据,提高工作效率。

结语

如果您有任何问题或意见,欢迎在评论区留言,我们会尽快回复您。谢谢阅读!

标签:case,实用技巧,表格,Python,Excel,students,dict,key
From: https://blog.csdn.net/qq_43580271/article/details/139424407

相关文章

  • Python 数据分析之 3 —— pandas 数据分析
    某SDN还要收费呢?第1关:了解数据集特征任务描述本关任务:载入网贷数据集,了解数据概况。共包含多个子任务:1.1读取Training_Master.csv文件,命名为master;1.2读取Training_Userupdate.csv文件,命名为user;1.3读取Training_LogInfo.csv文件,命名为log;1.4分别输出它们的形状;1.5......
  • 如何用atom开发python
    atom是一款非常好用的编辑器,但是他不能运行终端,所以让我们看看如何在atom上运行python程序吧。步骤如下:1、打开你的atom编辑器。2、按组合键ctrl+shift+p,然后输入setting,按回车键或者点击菜单栏中的“file”,再选择“setting”。3、选择“install”,点击搜索框。4、搜索“......
  • anaconda怎么运行python
    一、在AnacondaNavigator中运行首先点击菜单栏中的“开始”,在搜索栏中输入“Anaconda”,然后选择“AnacondaNavigator”。进入主界面,点击“Spyder”中的“Launch”即可。然后按F5键运行即可。二、在AnacondaPrompt中运行也可以在AnacondaPrompt中运行,点击菜单栏......
  • Excel+Python:飞速搞定数据分析与处理 (费利克斯•朱姆斯坦)阅读与关键技术分享
    书:pan.baidu.com/s/1owku2NBxL7GdW59zEi20AA?pwd=suov​提取码:suov我的阅读笔记:数据导入与导出: 使用Python的pandas库可以轻松地将数据从Excel导入到数据框中,并进行各种数据转换和清理。同样,你也可以将Python中的处理结果导出到Excel文件中。数据清理: 利用Python的pandas......
  • 2021新书Python程序设计 人工智能案例实践 Python编程人工智能基本描述统计集中趋势和
    书:pan.baidu.com/s/1owku2NBxL7GdW59zEi20AA?pwd=suov​提取码:suov我的阅读笔记:图像识别:使用深度学习框架(如TensorFlow、PyTorch)创建图像分类模型。探索迁移学习,使用预训练模型进行定制。自然语言处理(NLP):构建一个情感分析模型,用于分析文本中的情感。实现一个文本生成模型,......
  • 【Azure Developer】Python – Get Access Token by Azure Identity in China Azure E
    问题描述使用AzureIdentity,根据指定的客户端凭据获取AccessToken中,先后遇见了“ValueError:"get_token"requiresatleastonescope”“ClientSecretCredential.get_tokenfailed:Authenticationfailed:sequenceitem0:expectedstrinstance,listfound”最初的......
  • 分享一个自制 Excel 转 Unity ScriptableObject 工具
    视频演示链接:https://www.bilibili.com/video/BV1Nw4m1q7qt/资源文件:https://github.com/asyaB404/ExcelToScriptableObject上网找了半天都找不到满意的,所以就自己写了一个本人菜鸟一枚,第一次分享自己的成果,有什么问题或者改进的方式请立即联系我工具包含一个名为Excelabl......
  • Python信贷风控模型:梯度提升Adaboost,XGBoost,SGD, GBOOST, SVC,随机森林, KNN预测金
    原文链接:http://tecdat.cn/?p=26184 原文出处:拓端数据部落公众号最近我们被客户要求撰写关于信贷风控模型的研究报告,包括一些图形和统计输出。在此数据集中,我们必须预测信贷的违约支付,并找出哪些变量是违约支付的最强预测因子?以及不同人口统计学变量的类别,拖欠还款的概率如何......
  • 数据分享|python分类预测职员离职:逻辑回归、梯度提升、随机森林、XGB、CatBoost、LGB
    全文链接:https://tecdat.cn/?p=34434原文出处:拓端数据部落公众号分析师:ShilinChen离职率是企业保留人才能力的体现。分析预测职员是否有离职趋向有利于企业的人才管理,提升组织职员的心理健康,从而更有利于企业未来的发展。解决方案任务/目标采用分类这一方法构建6种模型对职......
  • Python从0到100(三十):requests模块的其他方法
    1requests中cookirJar的处理方法使用request获取的resposne对象,具有cookies属性,能够获取对方服务器设置在本地的cookie,但是如何使用这些cookie呢?1.1方法介绍response.cookies是CookieJar类型使用requests.utils.dict_from_cookiejar,能够实现把cookiejar对象转化为字典......