Python自动化处理Excel数据
需求描述:数据格式如下所示,需要分离出2023年7月1号之后的数据明细

数据核对与处理:从Excel文件中提取特定日期后的签收数据
1. 引言
在实际数据处理和分析过程中,经常会遇到需要从大量数据中提取出特定日期范围内的信息的需求。本文将介绍如何使用Python的pandas库来处理Excel文件,并提取出2023年7月1日之后的签收数据。
2. 准备工作
首先,我们需要导入所需的库。在本文中,我们将使用pandas库来处理Excel文件。
import pandas as pd
3. 设置显示选项
为了能够正确显示所有列和行,我们可以设置pandas的显示选项。
pd.set_option('display.max_columns', None)
pd.set_option('display.max_rows', None)
4. 读取Excel数据文件
接下来,我们使用pd.read_excel()函数来读取Excel文件中的数据,并指定nrows参数来限制读取的行数。
data = pd.read_excel('C:\\Users\\Admin\\Desktop\\数据核对\\工作簿2.xlsx', nrows=600)
5. 数据处理
为了方便后续操作,我们将DataFrame的索引设置为“货件单号”和“SKU”。
data = data.set_index(['货件单号', 'SKU'])
然后,我们将“签收明细”这一列进行拆分,并将拆分后的每个数据项排成多行。
data = data['签收明细'].str.split('\n', expand=True).stack().reset_index(level=2, drop=True)
data.name = '签收明细'
接着,我们从拆分后的数据中提取出“日期”和“数量”两列,并将其转换为正确的数据类型。
data = data.str.split(' \| ', expand=True)
data.columns = ['日期', '数量']
data['日期'] = pd.to_datetime(data['日期'])
data['数量'] = pd.to_numeric(data['数量'])
6. 筛选数据并保存结果
现在,我们可以筛选出2023年7月1日之后的数据,并将结果保存到Excel文件中。
result = data[data['日期'] >= '2023-07-01'].reset_index()
result.to_excel('2023年7月1号之后签收数据.xlsx', index=True)
7. 结果展示
最后,我们输出提示信息,显示结果已经保存到文件中。
print(f"结果已经保存到文件中:2023年7月1号之后签收数据.xlsx")
8. 总结
本文介绍了如何使用Python的pandas库处理Excel文件,并提取出特定日期范围内的签收数据。通过设置显示选项、读取Excel文件、进行数据处理、筛选数据并保存结果,我们能够高效地处理大量数据,并得到我们需要的信息
完整代码:
import pandas as pd # 设置最大列数为 None,以显示所有列
pd.set_option('display.max_columns', None) # 设置最大行数为 None,以显示所有行
pd.set_option('display.max_rows', None) # 读取Excel数据文件
data = pd.read_excel('C:\\Users\\Admin\\Desktop\\数据核对\\工作簿2.xlsx', nrows=600) # 输出全部数据(显示所有行和列)
print(data) # 将DataFrame的索引设置为“货件单号”和“SKU”,以便后续操作
data = data.set_index(['货件单号', 'SKU']) # 将“签收明细”这一列进行拆分,并将拆分后的每个数据项排成多行
data = data['签收明细'].str.split('\n', expand=True).stack().reset_index(level=2, drop=True)
data.name = '签收明细' # 从拆分后的数据中提取“日期”和“数量”两列
data = data.str.split(' \| ', expand=True)
data.columns = ['日期', '数量']
data['日期'] = pd.to_datetime(data['日期'])
data['数量'] = pd.to_numeric(data['数量']) # 筛选出 2023 年 7 月 1 日之后的数据,并将结果保存到 Excel 文件中
result = data[data['日期'] >= '2023-07-01'].reset_index() # 筛选符合条件的行,并重置索引
result.to_excel('2023年7月1号之后签收数据.xlsx', index=True) # 将结果保存到 Excel 文件中 # 输出提示信息
print(f"结果已经保存到文件中:2023年7月1号之后签收数据.xlsx")
Python自动化处理Excel数据的更多相关文章
- Delphi中使用python脚本读取Excel数据
Delphi中使用python脚本读取Excel数据2007-10-18 17:28:22标签:Delphi Excel python原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 . ...
- 用python实现简单EXCEL数据统计的实例
用python实现简单EXCEL数据统计的实例 下面小编就为大家带来一篇用python实现简单EXCEL数据统计的实例.小编觉得挺不错的,现在就分享给大家,也给大家做个参考.一起跟随小编过来看看吧 任 ...
- 数据测试001:利用python连接数据库插入excel数据
数据测试001:利用python连接数据库插入excel数据 最近在做数据测试,主要是做报表系统,需要往数据库插入数据验证服务逻辑,本次介绍如何利用python脚本插入Oracle和Mysql库中: ...
- 用 python实现简单EXCEL数据统计
任务: 用python时间简单的统计任务-统计男性和女性分别有多少人. 用到的物料:xlrd 它的作用-读取excel表数据 代码: import xlrd workbook = xlrd.open_ ...
- python selenium中Excel数据维护(二)
接着python里面的xlrd模块详解(一)中我们我们来举一个实例: 我们来举一个从Excel中读取账号和密码的例子并调用: ♦1.制作Excel我们要对以上输入的用户名和密码进行参数化,使得这些数据 ...
- python selenium中Excel数据维护(二)
接着python里面的xlrd模块详解(一)中我们我们来举一个实例: 我们来举一个从Excel中读取账号和密码的例子并调用: ♦1.制作Excel我们要对以上输入的用户名和密码进行参数化,使得这些数据 ...
- python中操作excel数据 封装成一个类
本文用python中openpyxl库,封装成excel数据的读写方法 from openpyxl import load_workbook from openpyxl.worksheet.works ...
- python中操作excel数据
python操作excel,python有提供库 本文介绍openpyxl,他只支持新型的excell( xlsx)格式,读取速度还可以 1.安装 pip install openpyxl 2.使用 ...
- 使用python,将excel数据批量导入数据库
这是上一篇文章的优化版本,相较于一条一条的执行sql语句,本文中,将excel中所有的数据先写到list列表中 在通过函数 cursor.executemany(sql, list) 一次性写入到数据 ...
- python实现对excel数据进行修改/添加
import osimport xlrdfrom xlutils.copy import copydef base_dir(filename=None): return os.path.join(os ...
随机推荐
- Microsoft edge锁定在任务栏上,被修改主页360的解决方法
今天从桌面下边的任务栏打开Microsoft edge浏览器,突然发现主页被篡改为360导航了(生气!恶龙咆哮ooo 在桌面上是Microsoft edge,固定到任务栏就成为Microsoft ed ...
- 用 Golang 从0到1实现一个高性能的 Worker Pool(一) - 每天5分钟玩转 GPT 编程系列(3)
目录 1. 概述 2. 设计 2.1 让 GPT-4 给出功能点 2.2 自己总结需求,再给 GPT 派活 3. 实现 3.1 你先随意发挥 3.2 你得让 Worker 跑起来呀 3.3 你说说 P ...
- shell 编程变量使用心得
类型 示例 用途 大写的变量名 IP 表示常量,比如,用来记录输入和输出文件名 小写变量名 mac 一般变量 左边下划线 _mac 临时的中间变量,只引用一次的变量 右边下划线 tmpfile_ 临时 ...
- Canvas好难,如何让研发低成本实现Web端流程图设计功能
摘要:本文由葡萄城技术团队于博客园原创并首发.转载请注明出处:葡萄城官网,葡萄城为开发者提供专业的开发工具.解决方案和服务,赋能开发者. 前言 相信大家在职场中经常会用到流程图,在互联网行业,绘制流程 ...
- coredns使用etcd
前言 CoreDNS使用ETCD存储主机记录.etcd安装略过. Corefile内容 .:53 { # 绑定本机IP bind 192.168.1.2 # etcd地址 etcd { path /c ...
- 【go笔记】标准库-strings
标准库-strings 前言 标准库strings用于处理utf-8编码的字符串. 字符串比较-Compare func Compare(a,b string) int 若 a==b ,则返回0:若 ...
- Android OAID 获取 基于MSA oaid_sdk_1.0.25.zip
目录 简介 SDK下载 支持版本 开始使用 可能遇到的问题 替代方案 APK下载 写在最后 简介 本文链接:https://www.cnblogs.com/dks-/p/14357041.html 根 ...
- Day11:KMP、字典树、AC自动机、后缀数组、manacher
KMP算法 前言 KMP算法是一个著名的字符串匹配算法,效率很高,但是确实有点复杂. 简介 KMP 算法是 D.E.Knuth.J,H,Morris 和 V.R.Pratt 三位神人共同提出的,称之为 ...
- Python+Flask设置接口开机自启动
Windows系统适用 创建一个批处理文件(例如 start_flask_api.bat),内容如下: @echo off cd /d C:\path\to\your\flask\app //你要启动 ...
- C++算法之旅、06 基础篇 | 第三章 图论
常用代码模板3--搜索与图论 - AcWing DFS 尽可能往深处搜,遇到叶子节点(无路可走)回溯,恢复现场继续走 数据结构:stack 空间:需要记住路径上的点,\(O(h)\). BFS使用空间 ...