怎么用python对excel进行操作得到E列结果

img

怎么用python对excel进行操作得到E列结果?
请帮帮忙

以下程序可以实现对需求与库存进行比较后,将结果(“需要拿出”)存入E列的功能。

import xlwings as xw
def solution(path):
    app = xw.App(visible=True, add_book=False)
    wb = app.books.open(path)
    sht = wb.sheets['sheet1']
    rng = sht.range('b1').expand('table')
    rows_num = rng.rows.count
    
    b_lst = sht.range(f'b1:b{rows_num}').value;b_lst.pop(0)
    d_lst = sht.range(f'd1:d{rows_num}').value;d_lst.pop(0)
    e_lst = ['状态']
    for b,d in zip(b_lst, d_lst):
        if b <= d:
            e_lst.append('需要拿出')
        else:
            e_lst.append('')
            
    sht.range('E1').options(transpose=True).value=e_lst
    wb.save(path)
    print('操作已经完成。\n请查看工作簿。')
path = input('请输入文件绝对路径:')
solution(path)
# 安装 openpyxl 库
!pip install openpyxl

# 导入 openpyxl 库
import openpyxl

# 打开 Excel 文件
wb = openpyxl.load_workbook('example.xlsx')

# 选择第一个工作表
ws = wb.worksheets[0]

# 创建一个空的结果列表
results = []

# 遍历 E 列中的每个单元格
for row in ws.iter_rows(min_row=1, max_row=ws.max_row, min_col=5, max_col=5):
    for cell in row:
        # 如果 E 列的单元格不为空,则读取该行的 A、B、C、D、E 列的值
        if cell.value:
            row_values = []
            for col in range(1, 6):
                row_values.append(ws.cell(row=cell.row, column=col).value)
            # 将这些值添加到结果列表中
            results.append(row_values)

# 打印结果列表
print(results)

如何确定的需要拿出?

根据你的要求创建了excel文件,名为data
文件的内容为:

img


根据文件可以编写相应的程序:

import pandas as pd

path1 = r'C:\Users\ZLY\Desktop\data.xlsx'  ##待替换的表
df1 = pd.read_excel(path1)

print(df1['任务'])

程序中path1为文件存放的位置
为了方便提取,给E列设置了标签“任务”,名称可以根据需要更改
运行的结果为:

img


从结果中可以看出,该程序能正确提取E列数据

如果问题得到解决的话请 采纳 ~~

用pandas或openpyxl都很容易实现

全网最全Python操作Excel教程
借鉴下
https://blog.csdn.net/weixin_43820813/article/details/124467183

你可以使用 Python 的一些库,如 pandas 或 openpyxl,来读取并操作 Excel 文件。

下面是使用 pandas 读取 Excel 文件并获取 E 列数据的示例代码:

import pandas as pd

# 读取 Excel 文件
df = pd.read_excel('file.xlsx')

# 获取 E 列数据
e_column = df['E']

# 打印 E 列数据
print(e_column)

下面是使用 openpyxl 读取 Excel 文件并获取 E 列数据的示例代码:

from openpyxl import load_workbook

# 读取 Excel 文件
wb = load_workbook('file.xlsx')

# 获取工作表
ws = wb.active

# 获取 E 列数据
e_column = [cell.value for cell in ws['E']]

# 打印 E 列数据
print(e_column)

这些库还提供了许多其他的功能,可以帮助你进行更复杂的操作,例如写入数据、修改工作表、插入图表等。