6000字长文,带你用Python完成 “Excel合并(拆分)” 的各种操作!(一)

简介: 6000字长文,带你用Python完成 “Excel合并(拆分)” 的各种操作!(一)

一、概述


其实Excel合并这个需求,应该是一个极为普遍的需求了。今天我们就利用Python完成“Excel合并(拆分)” 操作,具体如下:


① 将多个Excel表,合并到一个Excel中(每个Excel中只有一个sheet表);

② 将多个Excel表,合并到一个Excel中(每个Excel中不只一个sheet表);

③ 将一个Excel表中的多个sheet表合并,并保存到同一个excel;

④ 将一个Excel表,按某一列拆分成多张表;

二、知识点讲解


其实完成这些操作,涉及到了太多的知识点,因此在讲述上述这个知识点以前,我们要带大家复习一些常用的知识点。


① os模块常用知识点讲解;

② pandas模块常用知识点讲解;

③ xlsxwriter模块常用知识点讲解;

④ xlrd常用知识点讲解;

1. os模块知识点讲解

对于os模块,我们主要讲述os.walk()、os.path.join()等知识点。


1.1 os.walk()

对于这个知识点,我们需要说明以下几点:


os.walk()的返回值是一个生成器(generator),我们需要循环遍历它,来获取其中的内容;

每次遍历,返回的都是一个三元组(path, dirs, files);

path:返回的是当前正在遍历的这个文件夹的,本身路径地址;

dirs:返回的是该文件夹中所有目录的名字(不包含子目录),有多少个都以“列表”返回;

files:返回的是该文件夹中所有的文件(不包含子目录下的文件),有多少个都以“列表”返回;

如果说,有一个如图所示的文件夹。

image.png

利用下方的代码,我们可以得到什么结果呢?


pwd = "G:\\a"
print(os.walk(pwd))
for i in os.walk(pwd):
    print(i)
for path,dirs,files in os.walk(pwd):
    print(files)```


结果如下:


<generator object walk at 0x0000029BB5AEAB88>
('G:\\a', [], ['aa.txt', 'bb.xlsx', 'cc.txt', 'dd.docx'])
['aa.txt', 'bb.xlsx', 'cc.txt', 'dd.docx']


1.2 os.path.join()

这个函数,主要用于将多个路径组合后返回,超级简单,就不做过多阐述。


path1 = 'G:\\a'
path2 = 'aa.txt'
print(os.path.join(path1,path2))


结果如下:


G:\a\aa.txt


2. pandas模块知识点讲解

由于是需要利用Pandas进行Excel的合并,因此我们要学会,如何利用Pandas进行数据的纵向合并。


我们先创建2个数据框(DataFrame):


import numpy as np
xx = np.arange(15).reshape(5,3)
yy = np.arange(1,16).reshape(5,3)
xx = pd.DataFrame(xx,columns=["语文","数学","外语"])
yy = pd.DataFrame(yy,columns=["语文","数学","外语"])
print(xx)
print(yy)


效果如下:

image.png

接着,可以利用Pandas中的concat()函数,完成纵向拼接的操作。


pd.concat(list)中【默认axis=0】默认的是数据的纵向合并;

pd.concat(list)括号中传入的是一个列表;

ignore_list=True表示忽略原有索引,重新生成一组新的索引;

或者直接可以写成z = pd.concat([xx,yy],ignore_list=True);

concat_list = []
concat_list.append(xx)
concat_list.append(yy)
z = pd.concat(concat_list,ignore_list=True)
print(z)


效果如下:image.png


相关文章
|
2月前
|
存储 监控 数据处理
💻Python高手必备!文件系统操作秘籍,让你的数据存取如臂使指
【7月更文挑战第29天】在数据驱动时代, Python以简洁语法、丰富库生态和强大跨平台能力, 成为数据科学等领域首选。本文探讨Python文件系统操作秘籍, 助力高效数据处理。
38 11
|
21天前
|
Python
Python也可以合并和拆分PDF,批量高效!
Python也可以合并和拆分PDF,批量高效!
|
2月前
|
安全 数据安全/隐私保护 Python
|
2月前
|
监控 网络协议 网络安全
SMTP操作使用详解并通过python进行smtp邮件发送示例
SMTP操作使用详解并通过python进行smtp邮件发送示例
51 3
|
2月前
|
数据挖掘 数据处理 Python
🔍深入Python系统编程腹地:文件系统操作与I/O管理,打造高效数据处理流水线
【7月更文挑战第29天】深入Python系统编程腹地:文件系统操作与I/O管理,打造高效数据处理流水线
26 3
|
2月前
|
API Python
Python高手修炼手册:精通文件系统操作,掌控I/O管理,提升编程效率
【7月更文挑战第30天】在 Python 编程中, 文件系统操作与 I/O 管理是连接程序与数据的关键。初学者常因路径错误和权限问题受挫, 而高手能自如管理文件。传统 `os` 和 `os.path` 模块易出错, `pathlib` 提供了更直观的对象导向 API。I/O 方面, 同步操作会阻塞程序, 异步 (如使用 `aiofiles`) 则能大幅提升并发能力。真正的高手不仅掌握 API, 更能预见性能瓶颈并优化代码, 实现高效与优雅。
25 1
|
2月前
|
Serverless 语音技术 开发工具
函数计算操作报错合集之怎么何集成nls tts python sdk
在使用函数计算服务(如阿里云函数计算)时,用户可能会遇到多种错误场景。以下是一些常见的操作报错及其可能的原因和解决方法,包括但不限于:1. 函数部署失败、2. 函数执行超时、3. 资源不足错误、4. 权限与访问错误、5. 依赖问题、6. 网络配置错误、7. 触发器配置错误、8. 日志与监控问题。
|
2月前
|
索引 Python
Python的列表操作有哪些?
Python的列表操作非常丰富,包括列表的创建、元素的访问、修改、添加、删除、切片、排序等多个方面。
34 12
|
1月前
|
Python
python字符串的拼接和拆分,看这一篇就够了
python字符串的拼接和拆分,看这一篇就够了
31 0