Loading [MathJax]/jax/output/CommonHTML/config.js
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Pandas -遍历工作表

Pandas -遍历工作表
EN

Stack Overflow用户
提问于 2021-10-31 19:31:23
回答 1查看 83关注 0票数 0

我有5张工作表,并创建了一个脚本来进行大量的格式化,我对每张工作表进行了测试,它工作得很完美。

代码语言:javascript
运行
AI代码解释
复制
import numpy as np
import pandas as pd
           
FileLoc = r'C:\T.xlsx'
Sheets = ['Alex','Elvin','Gerwin','Jeff','Joshua',]

df = pd.read_excel(FileLoc, sheet_name= 'Alex', skiprows=6) 
df = df[df['ENDING'] != 0]
df = df.head(30).T
df = df[~df.index.isin(['Unnamed: 2','Unnamed: 3','Unnamed: 4','ENDING' ,3])]
df.index.rename('STORE', inplace=True)
df['index'] = df.index

df2 = df.melt(id_vars=['index', 2 ,0, 1] ,value_name='SKU' )
df2 = df2[df2['variable']!= 3]

df2['SKU2'] = np.where(df2['SKU'].astype(str).fillna('0').str.contains('ALF|NOB|MET'),df2.SKU, None)
df2['SKU2'] = df2['SKU2'].ffill()
df2 = df2[~df2[0].isnull()]
df2 = df2[df2['SKU'] != 0]

df2[1] = pd.to_datetime(df2[1]).dt.date
df2.to_excel(r'C:\test.xlsx', index=False)

但是当我在Sheet_name = Sheets中分配一个列表时,它总是产生一个错误的KeyError: 'ENDING'。代码的这一部分:

代码语言:javascript
运行
AI代码解释
复制
Sheets = ['Alex','Elvin','Gerwin','Jeff','Joshua',]
df = pd.read_excel(FileLoc,sheet_name='Sheets',skiprows=6) 

有没有合适的方法来做这件事,比如循环?

我期望的结果是执行我创建的格式,并将其合并到一个excel文件中。

注:所有工作表都具有相同的格式。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-10-31 19:59:37

在使用read_excel方法时,如果给出参数sheet_name=None,就会得到一个以表名称为键、以相关的DataFrame为值的OrderedDict。因此,您可以应用此方法并使用.items()遍历字典。

代码应该是这样的,

代码语言:javascript
运行
AI代码解释
复制
dfs = pd.read_excel('your-excel.xlsx', sheet_name=None)
for key, value in dfs.items():
  # apply logic to value

如果您希望合并工作表中的数据,则可以使用.append()。我们可以在将逻辑应用于每个工作表中的数据之后追加数据。看起来就像这样,

代码语言:javascript
运行
AI代码解释
复制
combined_df = pd.DataFrame()
dfs = pd.read_excel('your-excel.xlsx', sheet_name=None)
for key, value in dfs.items():
  # apply logic to value, which is a DataFrame
  combined_df = combined_df.append(sheet_df)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/69792359

复制
相关文章
Pandas绘图之Series和Dataframe
import numpy as np import pandas as pd from pandas import Series import matplotlib.pyplot as plt s1 = Series(np.random.randn(10)).cumsum()
慕白
2020/01/02
2.5K0
Pandas绘图之Series和Dataframe
Pandas按班拆分Excel文件+按班排名和按级排名
1。用pandas.groupby+apply+to_excel进行按‘班别’列对一个Excel文件拆分成一个班一个文件的操作。简单又强大
哆哆Excel
2022/10/25
1.3K0
Pandas按班拆分Excel文件+按班排名和按级排名
绘图系列(3):绘制密度图
在进行数据可视化的时候,通常可以通过散点图比较直观的查看数据的分布情况。但是当数据量大且分布比较集中的时候就没那么容易确定数据的分布了,这时候可以通过绘制密度或是热力图直观获取数据分布情况。
bugsuse
2020/04/21
1.3K0
绘图系列(3):绘制密度图
pandas排序 按索引和值排序
pandas 排序 import pandas as pd import numpy as np unsorted_df=pd.DataFrame(np.random.randn(10,2),index=[1,4,6,2,3,5,9,8,0,7],columns=['col2','col1']) print (unsorted_df) # 按标签排序 sorted_df = unsorted_df.sort_index(ascending=False) # 降序 print (sorted_df) s
AI拉呱
2021/01/14
3K0
Pandas绘图功能
可视化是用来探索性数据分析最强大的工具之一。Pandas库包含基本的绘图功能,可以让你创建各种绘图。Pandas中的绘图是在matplotlib之上构建的,如果你很熟悉matplotlib你会惊奇地发现他们的绘图风格是一样的。
用户3577892
2020/11/12
1.8K0
【R绘图】散点图+直方图(密度图)
这张图在传统的相关性散点图的基础上还多了一个直方图,来展示该变量的分布情况。今天我们就来带大家来重现这样的图。
生信交流平台
2022/09/21
9430
【R绘图】散点图+直方图(密度图)
Pandas-18.分组
Pandas-18.分组 任何分组操作都涉及原始对象的以下操作之一: 分割对象 应用一个函数 结合的结果 将数据分组之后,每个自己可以执行以下种类的操作: 聚合 - 计算汇总统计 转换 - 执行特定于组的操作 过滤 以如下代码作为例子: import pandas as pd ipl_data = {'Team': ['Riders', 'Riders', 'Devils', 'Devils', 'Kings', 'kings', 'Kings', 'Kings', 'Riders',
悠扬前奏
2019/05/29
6630
python pandas分组统计
利用panda便捷的对日志分组统计: #!/usr/bin/env python # -*- coding: utf-8 -*- # @Time : 2017/11/14 下午6:27 # @Author : wz # @Email : 277215243@qq.com # @File : testpanda.py # @web : https://www.bthlt.com import pandas ''' 2017-10-30 20:21:06.626735|27024|5
葫芦
2019/04/17
1.2K0
[71]pandas分组与聚合
分组 (groupby) 对数据集进行分组,然后对每组进行统计分析 SQL能够对数据进行过滤,分组聚合 pandas能利用groupby进行更加复杂的分组运算 分组运算过程:split->apply->combine 拆分:进行分组的根据 应用:每个分组运行的计算规则 合并:把每个分组的计算结果合并起来 示例代码: import pandas as pd import numpy as np dict_obj = {'key1' : ['a', 'b', 'a
周小董
2022/04/12
6220
[71]pandas分组与聚合
密度图及山脊图绘图基础
Seaborn 的 kdeplot() 函数是 Python 中绘制密度图的方式之一,Matplotlib 在现阶段则没有具体的绘制密度图的函数,一般是结合 Scipy 库中的 gaussian_kde() 函数结果进行绘制。
timerring
2023/10/13
6600
密度图及山脊图绘图基础
数据科学的原理与技巧 三、处理表格数据
在本章的每一节中,我们将使用第一章中的婴儿名称数据集。我们将提出一个问题,将问题分解为大体步骤,然后使用pandas DataFrame将每个步骤转换为 Python 代码。 我们从导入pandas开始:
ApacheCN_飞龙
2022/12/01
4.7K0
循环绘图和多分组多基因(变量)差异展示
经常遇到‘一个循环绘制每一个差异基因在肿瘤和正常的表达差异’和‘需要在一张图中展示多个差异基因在肿瘤和正常组的表达分布’需求。如下列两张图所示:
用户1359560
2021/12/06
1K0
循环绘图和多分组多基因(变量)差异展示
基于seaborn绘制多子图
之前也写过一些关于seaborn的文章,本文给大家介绍如何使用seaborn来绘制多子图。
皮大大
2023/09/09
7580
使用 Pandas 在 Python 中绘制数据
在有关基于 Python 的绘图库的系列文章中,我们将对使用 Pandas 这个非常流行的 Python 数据操作库进行绘图进行概念性的研究。Pandas 是 Python 中的标准工具,用于对进行数据可扩展的转换,它也已成为从 CSV 和 Excel 格式导入和导出数据的流行方法。
用户1880875
2021/09/15
7.5K0
Pandas的分组聚合groupby
Pandas怎样实现groupby分组统计 groupby:先对数据分组,然后在每个分组上应用聚合函数、转换函数 import pandas as pd import numpy as np %matplotlib inline df = pd.DataFrame({'A': ['foo', 'bar', 'foo', 'bar', 'foo', 'bar', 'foo', 'foo'], 'B': ['one', 'one', 'two', 'three', 'two
北山啦
2022/11/27
1.8K0
Pandas的分组聚合groupby
绘制频率分布直方图的三种方法,总结的很用心!
直方图能帮助迅速了解数据的分布形态,将观测数据分组,并以柱状条表示各分组中观测数据的个数。简单而有效的可视化方法,可检测数据是否有问题,也可看出数据是否遵从某种已知分布。
double
2020/02/21
36.8K1
绘制频率分布直方图的三种方法,总结的很用心!
万字长文 | 超全代码详解Python制作精美炫酷图表教程
本文将探讨三种用Python可视化数据的不同方法。以可视化《2019年世界幸福报告》的数据为例,本文用Gapminder和Wikipedia的信息丰富了《世界幸福报告》数据,以探索新的数据关系和可视化方法。
昱良
2019/11/27
3.2K0
万字长文 | 超全代码详解Python制作精美炫酷图表教程
Pandas|排序,分组,组内排序
01 Pandas的基本排序 Pandas的主要数据结构有2个:DataFrame,Series,针对这两个类型的排序Demo如下: #coding=utf-8 import pandas as pd import numpy as np #以下实现排序功能。 series=pd.Series([3,4,1,6],index=['b','a','d','c']) frame=pd.DataFrame([[2,4,1,5],[3,1,4,5],[5,1,4,2]],columns=['b
double
2018/04/02
7.4K0
年份
题目: 输入年份,判断是否为闰年。如果是,则输出 yes, 否则输出 no。 提示:简单的判断除以4的余数是不够的。 思路: 1. 能被4整除,并且不能被100整除年份 2.能被400整除的年份 c语言实现 #include<stdio.h> int main() { int year; scanf("%d",&year); if(year%400==0||(year%4==0&&year%100!=0)) { printf("yes"); }else
Vincent-yuan
2020/05/19
8880
点击加载更多

相似问题

使用Pandas按年份和类型分组

20

按年份Pandas的问题分组

18

pandas按日期和年份分组,并汇总数量

215

如何按年份和月份绘制平均密度

13

按年份分组

36
添加站长 进交流群

领取专属 10元无门槛券

AI混元助手 在线答疑

扫码加入开发者社群
关注 腾讯云开发者公众号

洞察 腾讯核心技术

剖析业界实践案例

扫码关注腾讯云开发者公众号
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档