前面的回答完全不知道在说什么跟题主的问题没关毛钱关系。。
这个问题里没有描述是要将5个 sheet 的平均值合并到一起展示还是单独展示,我就按合并的展示来操作吧。
f = pd.ExcelFile('E:\Python\CD\CD2020.xlsx')。
print(f.sheet_names)。
col_list = ['a','b','c','d','e']。
result = [] # 存放每个 sheet 求平均之后的结果。
for i in f.sheet_names:。
data = pd.read_excel(f, sheet_name=i,header=0,index_col=0,parse_dates={'datetime': [0]}, encoding='utf-8')。
result.append(data.mean().to_frame(name=i)) # 求均值并放入列表。
pd.concat(result, axis=1) # 将结果中的5个 sheet 合并成一个 dataframe。
解释一下:
data.mean() 计算出每一列的平均值,结果是一个 Series 。为了方便后面合并用方法 .to_frame(name=i) 转换成 dataframe。
pd.concat 可以用来合并多个 dataframe 参数 axis=1 是按列来合并。
结果大概是这样的
需要在设置中操作。
步骤1:右击所需要复制的工作表sheet,在弹出菜单中选择移动或复制工作表选项。
步骤2:在移动或复制工作表中,勾选建立副本选项,同时我们可以选择将该副本插入到哪个sheet前。
步骤3:设置完成后点击确定按钮,就可以看到复制的工作表了。
pandas导出excel单元格长度。
可以使用pandas的to_excel函数来实现导出excel单元格长度的功能。
下面是一个简单的示例:
```
import pandas as pd。
# 创建一个DataFrame。
df = pd.DataFrame({'Name':['Tom','Jack','Steve','Ricky'],'Age':[28,34,29,42]})。
# 导出excel,指定单元格长度为20。
df.to_excel('test.xlsx', index=False, cell_size=20)。
```
上面的代码将DataFrame导出到test.xlsx文件,并指定单元格长度为20。
1、导入excel表格数据
Excel有两种格式,分别为xls和xlsx格式,两种都可以用python的Pandas模块的read_excel方法导入。read_excel方法返回的结果是DataFrame,DataFrame的一列对应着Excel的一列。
read_excel方法参数介绍:
(1)sheet_name参数:该参数用于指定导入Excel中的哪一个sheet,如果不填写这个参数,则默认导入第一个sheet。
(2)index_col参数:该参数用于指定表格的哪一列作为DataFrame的行索引。从0开始计数。
(3)nrows参数:该参数可以控制导入的行数,该参数在导入文件体积较大时比较有用。
(4)skipfooter参数:该参数可以在导入数据时,跳过表格底部的若干行。
(5)header参数:当使用Pandas的read_excel方法导入Excel文件时,默认表格的第一行为字段名。如果表格的第一行不是字段名。则需要使用该参数设置字段名。
(6)usecols参数:该参数可以控制导入Excel表格中的哪些列。
(7)names参数:该参数可以对导入数据的列名进行重命名。
import pandas as pd# 导入pandas模块并将其缩写。
df=pd.read_excel("C:/Users/kzk/Desktop/背景介绍.xlsx")#使用该方法导入数据。
df
登录后复制
括号里为本地表格地址,可以通过查看属性进行获取,注意地址的分隔符时反斜杠。
df1=pd.read_excel("C:/Users/kzk/Desktop/背景介绍.xlsx",index_col=0)。
df1
#取消行索引
登录后复制
df2=pd.read_excel("C:/Users/kzk/Desktop/背景介绍.xlsx",nrows=5)。
df2
#导入前五行
登录后复制
df3=pd.read_excel("C:/Users/kzk/Desktop/背景介绍.xlsx",header=None)。
df3
#取消表格第一行为默认表头,以0123···为表头。
登录后复制
df4=pd.read_excel("C:/Users/kzk/Desktop/背景介绍.xlsx",header=None,name=['A','B','C','D','E'])。
df4
#取消表格第一行为默认表头,以ABCDE为表头。
登录后复制
df5=pd.read_excel("",header=None,names={'A','B','C','D','E'},usecols=[1,3])。
df5
#索引为1和3,也就是第二列和第四列。
登录后复制
2、导入CSV格式数据
read_csv方法中的sep参数表示要导入的csv文件的分隔符,默认是半角逗号。encoding参数用来指定CSV文件的编码,常用的有utf-8h和gbk。
import pandas as pd。
df1=pd.read_csv("",sep=",",encoding="gbk")。
df1
登录后复制
df2=pd.read_csv("",sep=",",encoding="gbk",nrows=3)。
df2
#只导入前三行
登录后复制
df4=pd.read_csv("",sep=",",encoding="gbk",names=["ID","fruit","amount"])。
df4
登录后复制
3、导入JSON数据
JSON数据是一种轻量级的数据交换格式,容易阅读,也容易被机器扫描,在互联网应用中很常见,有时候从后台系统中导出来的数据就是JSON格式。
JSON文件实际上存储的是一个JSON对象或者一个JSON数组,JSON对象是由多个键值对组成的,类似python的字典,JSON数组由多个JSON对象组成,类似列表。
import pandas as pd。
json=pd.read_json("路径")。
json
登录后复制
4、导入txt格式数据
使用read_table方法,参数和用法与read_csv类似。
import pandas as pd。
df1=pd.read_table("路径")。
df1
登录后复制
5、导入(爬取)网络数据
在数据分析中,除了可以导入文件和数据库中的数据,还有一类非常重要的数据就是网络数据,网络中每天都会产生大量数据,这些数据具有实时性,种类丰富的特点,因此对于数据分析而言是十分重要的一类数据来源。
关键技术:爬取网络表格类数据,pandsa库read_html()方法。
read_html()方法用于导入带有table标签的网页表格数据,使用该方法前,首先要确定网页表格数据是否为table标签。右击网页中的表格查看元素。
确定后才可以使用read_html的方法。
常用参数说明如下
io:字符串,文件路径,也可以是URL连接,网址不接受https,可以尝试去掉s后爬取。
header:指定列标题所在的行。
index_col:指定列标题所在的行。
index_col:指定行标题对应的列。
【例】 爬取A股公司营业收入排行榜。
中商情报网是专业的产业情报分享云平台,主要提供研究报告、行业分析、市场调研等数据。在本案例中,通过爬取中商情报网中A股公司营业收入排行榜表格获取相应的金融数据,数据网址为https://s.askci.com/stock/a/。
import pandas as pd。
url="https://s.askci.com/stock/a/"。
df=pd.read_html(url)[0]#索引为0。
print(df)
登录后复制
0 1 2 3。
0 排名 股票代码 企业简称 营业收入(亿元)
1 1 600028 中国石化 27408.84。
2 2 601857 中国石油 26143.49。
3 3 601668 中国建筑 18913.39。
4 4 601318 中国平安 11804.44。
5 5 601390 中国中铁 10704.17。
6 6 601186 中国铁建 10200.10。
7 7 601398 工商银行 9427.62。
8 8 601628 中国人寿 8585.05。
9 9 600941 中国移动 8482.58。
10 10 601939 建设银行 8242.46。
登录后复制

2.2输出数据
1、CSV格式数据输出
【例】导入sales.csv文件中的前10行数据,并将其导出为sales_new.csv文件。
关键技术:pandas库中的to_csv方法。
在该例中,首先通过pandas库的read_casv方法导入sales.csv文件的前十行数据,然后使用pandas库的to_csv方法将导出的数据输出为sales_new.csv文件。
import pandas as pd。
df=pd.read_csv("地址",sep=","encoding="gbk",nrows=10)。
df.to_csv('sales_new.csv',encoding="gbk")。
登录后复制
pandas库的to_csv方法,参数说明:
path_or_buf:要保存的路径及文件名。
sep:分割符,默认为","
columns:指定要输出的列,用列名,列表表示,默认值为None。
header:是否输出列名,默认值为True。
index:是否输出索引,默认值为True。
encoding:编码方式,默认值为"utf-8" 也可以是gbk。
【例】对于上一小节中的问日,如销售文件格式为:sales.xlsx文件,如何处理。
关键技术:DataFrame对象的to_excel方法。
与上例相似,该例首先利用Pandas库的read_excel方法读入sales.xlsx文件,然后使用to_excel方法导出新文件。
import pandas as pd。
df=pd.read_excel("地址")。
df1=df.head(10)。
df1.to_excel('sales_new.xlsx',encoding="gbk")。
登录后复制
2、xlsx格式数据输出
对于Pandas库中的to_excel()方法,有下列参数说明。
sheet_name:字符串,默认值为"sheet1",指包含DataFrame数据的表的名称。
np_rep:字符串,默认值为’'。指缺失数据的表示方式。
columes:序列,可选参数,要编辑的列。
header:布尔型或字符串列表,默认值为True。如果给定字符串列表,则表示它是列名称的别名。
index:布尔型,默认值为True 行名(索引)
index_label:字符串型或序列,默认值为None。如果文件数据过多的使用多索引,则需使用序列。
encoding:指定Excel文件的编码方式,默认值为None。
3、导入到多个sheet页中
【例】将sale.xlsx文件中的前十行数据,导出到sales_new.xlsx文件中名为df1的sheet页中将后五行数据导出到名为df2的sheet页中。
首先建立df1/df2sheet页,然后使用pd.ExcelWriter方法打开sales_new.xlsx文件,再用to_excel方法导入到指定的sheet页中。
先遍历数据表目录读取所有符合条件的Excel文件代码中我没有作判断,具体看你需求。
测试用这个目录下我只新建了2个Excel文件,第一个文件有5个sheet,第二个文件有7个sheet。
在遍历所有文件的sheet 代码中 sheets = df.sheet_names 这是一个列表类型 可以用切片的方法来实现你的需求 sheets[2:] 表示从第三个开始读取到最后一个。
原文地址:http://www.qianchusai.com/pandas%E5%AF%BC%E5%87%BA%E5%A4%9A%E4%B8%AAsheet.html