怎么用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
文件的内容为:
import pandas as pd
path1 = r'C:\Users\ZLY\Desktop\data.xlsx' ##待替换的表
df1 = pd.read_excel(path1)
print(df1['任务'])
程序中path1为文件存放的位置
为了方便提取,给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)
这些库还提供了许多其他的功能,可以帮助你进行更复杂的操作,例如写入数据、修改工作表、插入图表等。