redeemer_liu 发表于 2022-10-13 08:40:08

操作EXCEL用xlwings还是pandas,具体如何做?

需求:
一个统计表格,需要从表格中读取数据,然后按关键词筛选出来,分别进行统计,最后生成图表

看了一些做法
1、先打开表格,读取数据,有说法是xlwings最快,读一个10M的文档,只要7.9秒
2、生成一个data{},然后我就不知道怎么做了,我不需要所有的数据,只要其中几列,而且单元格里还要筛选我需要的,这个我看有打开一个模板文件,然后把数据写进去,但是我试了一下,只生成了新表格,数据没写进去
for i in workbook.sheetnames:
      sheet = workbook
      names = sheet['B']
      flag = 0
      for cell in names:
            if cell.value == '202':
                flag = cell.row
                break
      if flag:   # 如果flag没有被修改则不需要顺序进行下列代码
            data_lst = []
            for cell in sheet:
                # 这里加上一个对内容的判断,是让无内容的行直接放空,而不是写入一个 none
                if cell.value:
                  data_lst.append(str(cell.value))
                else:
                  data_lst.append(' ')
            new_sheet.append(data_lst)

new_workbook.save(r'D:\python\new.xlsx')

求指教

wp231957 发表于 2022-10-13 10:02:31

我没用过这个模块,你贴一下完整代码

redeemer_liu 发表于 2022-10-13 16:32:47

我在知乎上搜到一个
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//index_faultlist.xlsx')

这样就搞定了,但是我没看懂
df.head()的用法
页: [1]
查看完整版本: 操作EXCEL用xlwings还是pandas,具体如何做?