Python自动化处理Excel数据的操作过程

 更新时间:2023年11月02日 08:56:36   作者:qwerrt9  
在实际数据处理和分析过程中,经常会遇到需要从大量数据中提取出特定日期范围内的信息的需求,本文将介绍如何使用Python的pandas库来处理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数据的文章就介绍到这了,更多相关Python 处理Excel数据内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Python 爬虫学习笔记之正则表达式

    Python 爬虫学习笔记之正则表达式

    正则表达式是用来匹配字符串非常强大的工具,在其他编程语言中同样有正则表达式的概念,Python同样不例外,利用了正则表达式,我们想要从返回的页面内容提取出我们想要的内容就易如反掌了。
    2016-09-09
  • 使用pytorch时所遇到的一些问题总结

    使用pytorch时所遇到的一些问题总结

    这篇文章主要介绍了使用pytorch时所遇到的一些问题总结,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python 窗体(tkinter)下拉列表框(Combobox)实例

    Python 窗体(tkinter)下拉列表框(Combobox)实例

    这篇文章主要介绍了Python 窗体(tkinter)下拉列表框(Combobox)实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-03-03
  • Django框架之中间件MiddleWare的实现

    Django框架之中间件MiddleWare的实现

    这篇文章主要介绍了Django框架之中间件MiddleWare的实现,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-12-12
  • python搭建虚拟环境的步骤详解

    python搭建虚拟环境的步骤详解

    相信每位python都知道,进行不同的python项目开发,有的时候会遇到这样的情况:python 版本不一样,使用的软件包版本不一样。这种问题最佳的解决办法是为不同的项目搭建独立的 python 环境。下面来一起看看吧。
    2016-09-09
  • 使用Python开发一个图像标注与OCR识别工具

    使用Python开发一个图像标注与OCR识别工具

    这篇文章主要介绍了一个使用Python开发的工具,允许用户在图像上进行矩形标注,使用 OCR 对标注区域进行文本识别,并将结果保存为 Excel 文件,感兴趣的可以了解下
    2025-03-03
  • 基于python2.7实现图形密码生成器的实例代码

    基于python2.7实现图形密码生成器的实例代码

    本文通过实例代码给大家介绍了python2.7实现图形密码生成器,代码简单易懂,非常不错,具有一定的参考借鉴价值,需要的朋友参考下吧
    2019-11-11
  • python pandas库中DataFrame对行和列的操作实例讲解

    python pandas库中DataFrame对行和列的操作实例讲解

    今天小编就为大家分享一篇python pandas库中DataFrame对行和列的操作实例讲解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-06-06
  • python改变日志(logging)存放位置的示例

    python改变日志(logging)存放位置的示例

    示例主要解决的问题是通过传入日志文件参数的方式来改变日志的存放位置,需要的朋友可以参考下
    2014-03-03
  • pytorch中的广播语义

    pytorch中的广播语义

    这篇文章主要介绍了pytorch中的广播语义,pytorch的广播语义即broadcasting semantics,和numpy的很像,下面文章介绍更多相关内容的介绍,需要的小伙伴可以参考一下
    2022-03-03

最新评论