redeemer_liu 发表于 2022-10-14 13:28:31

做个记录:学习用python操作EXCEL表格

需求是这样的:
1、一个EXCEL工作簿,里面有很多sheet,读取特定的一个sheet,将该sheet里的特定的几个列的内容读取,然后以其中一列(作业区)里的关键词筛选需要的记录行挑选出来,另存为一个新表格;
2、有三个这样的工作簿,是三个年份的,读取这三个文件,组成一个新文件,三个不同的sheet;sheet名用年份来命名;
3、对于第一项生成的新文件,再使用另外的列(日期,机组)的关键词进行筛选,分别形成该机组本年度不同月份,同一月份不同机组,形成2个不同的sheet,统计故障时间和次数,生产柱状图;
4、将第二项生成的新文件,生成新的一个sheet,以机组为关键词,筛选3年的故障,以月份为X轴,生成故障时间折线图;
5、读取工作簿里以周为单位的的所有sheet记录,生成新文件,同样以机组为关键词,生成以月份为X轴的故障时间折线图;
6、读取一个工作簿里的特定sheet,以“作业区”为关键词筛选,生成不同的sheet,做成新文件,统计故障时间,做出月份折线图;

redeemer_liu 发表于 2022-10-14 13:43:59

已完成第一项
import pandas as pd

df = pd.read_excel('e://python_test//2022fault list.xlsx')
df.head()
df.reset_index(inplace=True, drop=True)
df1 = df.loc == '三冷电气', ['机组', '设备\n停机', '日期', '故障名称', '故障原因', '对策措施', '点检员']]
df1.head(10)
df1.to_excel('e://python_test//故障清单2022.xlsx')

在知乎上得到一位大神的指导,但这df.head怎么使用,还没搞懂。
另外,这个sheet的最上面一行,是一个有合并单元格的,相当于有个大的表头,总是有问题,我把这一行删除了才能读取,不知道哪位可以给予指点一下

redeemer_liu 发表于 2022-10-14 15:16:02

import pandas as pd
df = pd.read_excel('e://python_test//2022fault list.xlsx')

import pandas as pd
df = pd.read_excel('e://python_test//冷轧厂重要设备状态跟踪(新版2022)及记分榜AA.xlsx', sheet_name=['状态跟踪表'])

上面这个操作,就没问题,而就改一个读工作簿的一个工作表,就没法通过了,报错,为啥呢?

C:\Users\LIUGANG\PycharmProjects\to_excel\venv\Scripts\python.exe E:\python_test\read_excel_different_sheet_to_new_file.py
Traceback (most recent call last):
File "E:\python_test\read_excel_different_sheet_to_new_file.py", line 3, in <module>
    df.head()
AttributeError: 'dict' object has no attribute 'head'

Process finished with exit code 1

redeemer_liu 发表于 2022-10-27 13:21:19

redeemer_liu 发表于 2022-10-14 15:16
import pandas as pd
df = pd.read_excel('e://python_test//2022fault list.xlsx')



有些表格里可能是从WPS转过来,里面不知道有啥问题,执行这个代码就有异常,无法执行.head,只好把这个sheet内容全拷贝出来,单独形成一个文件.xlsx,代码就可以执行了

刘串 发表于 2022-10-27 16:31:57

顶顶大佬{:5_105:}

redeemer_liu 发表于 2022-10-29 08:51:38

做个记录:
现在可以读取\test目录下的三个文件,然后用几个关键词去groupy,写入新文件sheet1,还在研究怎么按机组写成6个sheet,或者按日期分成12个月的12个sheet
页: [1]
查看完整版本: 做个记录:学习用python操作EXCEL表格