首页 > 其他分享 >Excel数据合并与拆分

Excel数据合并与拆分

时间:2023-06-01 19:23:44浏览次数:30  
标签:xlsx Excel 拆分 df excel 合并 ## pd

1. 合并1——文件格式完全相同之全部合并

#导入工具包
import pandas as pd
import os

# 新建空列表,用来存储所有的列表数据
df_list = []

# 循环读取Excel/csv/txt等文件
for i in os.listdir('./'):       # 遍历当前代码所在文件,可提供具体文件夹路径
    if i.split('.')[-1] == 'xlsx':   # 确认是否为excel文件
        df = pd.read_excel(i)
        df_list.append(df)

# 拼接全部的DataFrame
df = pd.concat(df_list, ignore_index=True)

# 写入Excel
df.to_excel('./合并文件.xlsx', index=False)

2.合并2——文件内容有一对一的主键合并

## 导入工具包
import pandas as pd

## 读取 Excel 表
df_1 = pd.read_excel('./产品销售情况数据_前几列.xlsx', sheet_name='sheet1')
df_2 = pd.read_excel('./产品销售情况数据_后几列.xlsx',sheet_name='sheet1')   # sheet_name定义为excel中sheet的name

## 横向拼接两张表
df = pd.merge(df_1,df_2,on='订单编号', sort=True)     # 订单编号为一对一主键,输出按主键排序输出
## 拼接方式inner、outer、left_on、right_on
df = pd.merge(df_1,df_2,how='inner',left_on='编号1',right_on='编号2')    
## 写入 Excel
df.to_excel('./产品销售情况数据_合并.xlsx', index=False)

3. 拆分——文件内容一致,按某一name区分拆分

## 导入工具包
import pandas as pd

## 读取 Excel
df = pd.read_excel('./产品销售情况数据.xlsx')

## 获取产品列表
products_list = df['name1'].drop_duplicates()

## 循环筛选写入 Excel 表
for i in products_list:
    df[df['name1'] == i].to_excel('./产品销售情况数据_'+ i +'.xlsx',index=False)

 

标签:xlsx,Excel,拆分,df,excel,合并,##,pd
From: https://www.cnblogs.com/lxinghua/p/17449939.html

相关文章

  • Excel转CSV格式
    注意:CSV文件导出来的可以理解为就是一个普通的文件,但至于使用什么样的软件打开就是另一马事了,比如Excel打开后出来“自动过滤了数字前面的0”,这玩意程序控制不到,那是Excel的事情。CSV不是Excel文件切记,只不过用表格软件打开CSV而已importorg.apache.poi.hssf.usermodel.HSS......
  • Springboot整合EasyPOI操作Excel文件
    配合官网阅读本文源码POI官网文档效果图:本文只做一个案列的操作:pom依赖:<dependency><groupId>org.springframework.boot</groupId><artifactId>spring-boot-starter-web</artifactId></dependency><!--EasyPoi导入导......
  • .Net NPOI Excel 导出
    NPOI导出Excel最终效果图   环境:Revit,WPF,NPOI2.5.6,.NetFramework4.7.2一、引用NPOI 右击项目引用,选择"管理NuGet程序包",在浏览搜索NPOI,选择版本(我这里是2.5.6),安装   安装成功后,引用里会出现这四个引用(NPOI,NPOI.OOXML,NPOI.OpenXml......
  • vue xlsx组件 导出的excel表头插入内容
    主要就是sheet_add_dom这个方法,dom是带有table标签元素的dom节点。timeData是个二维数组:[["条件1","条件2"],["值1","值2"]];如果是要在表格内容行里面插入内容,可以直接在与表格绑定的对象上,插入内容就可以了。/*timeData是二维数组*/getExcelWithInfo(timeData,dom,tit......
  • Excel打印封装
    准备部分1、安装依赖npminstallvue-print-nb--save2、main.js全局安装importPrintfrom'vue-print-nb'Vue.use(Print);组件部分/components/ExcelForm.vue<template><div><divclass="btn"><el-buttonsize="......
  • Linux中split大文件分割和cat合并文件
    当需要将较大的数据上传到服务器,或从服务器下载较大的日志文件时,往往会因为网络或其它原因而导致传输中断而不得不重新传输。这种情况下,可以先将大文件分割成小文件后分批传输,传完后再合并文件。1.分割--split命令可以指定按行数分割和按字节大小分割两种模式。(1)按行数分割......
  • 上万条美容知识大全ACCESS\EXCEL数据库
    今天采集了一个美容知识大全的网站,网站里的内容主要是美容化妆类的文章,分类有近百个,是个可以受女生喜欢的内容。截图包含所有字段。分类统计情况为:瘦腿方法(793)、美白(615)、瘦腰(583)、上班族(472)、抗衰老(453)、男士美容(421)、瘦脸(355)、翘臀(345)、防晒(256)、瘦臂(244)、补水(241)、保湿(229)、......
  • python 合并k个有序链表
     fromheapqimportheappush,heappopclassSolution:defmergeKLists(self,lists):q=[]fori,headinenumerate(lists):ifhead:heappush(q,(head.val,i,head))node=dummy=ListNode(0)......
  • 30万个名字汉字起名中文取名ACCESS\EXCEL数据库
    虽然汉字#起名名字#的数据库已经有一些,比如7千多汉字起名参考大典ACCESS数据库、汉字起名中文起名宝宝起名ACCESS数据库,但是今天发现了一个数据库,他是在《7千多汉字起名参考大典》的基础上增加了30万个男孩女孩的名字实例。非常适合于比如固定了名字的第二个字,取第三个字时一查就......
  • 规则引擎的低代码日记——自定义函数编程操作(类excel函数)
    它是技术源码可开放的JAVA规则引擎,采用springcloud+VUE的技术架构进行构建,其中对数据的灵活加工处理采用的是函数式编程的思路(类excel函数配置),是其亮点功能。它允许开发人员定义和管理应用程序的规则,并在应用程序中执行这些规则。在规则引擎中,从数据加工成变量并使用函数式编程......