关于python操作excel文件相关操作(拆分,汇总excel文件)

本文介绍了一种使用Python处理Excel文件的方法,包括按供货类型统计供应商供货总额并排序,从多个Excel文件中提取特定字段汇总至单一文件,以及将Excel中的特定字段拆分到独立文件中。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

实现文件中供应商按照供货类型的总额进行统计排序分别输出

import xlrd
        
data = xlrd.open_workbook(r'C:\Users\zh128\Desktop\data2.xlsx')
table = data.sheets()[0]
a = []
b = []
c = []
for i in range(1,table.ncols+1):
    s=[]
    temp = table.row_values(i)
    s.append(temp[0])
    s.append(temp[1])
    sum=0
    for j in range(2,len(temp)):
        sum+=temp[j]
    s.append(sum)
    if s[1]=='A':
        a.append(s)
    elif s[1]=='B':
        b.append(s)
    else:
        c.append(s)
for i in range(len(a)):
    for j in range(0, len(a)-i-1):
        if a[j][2] > a[j+1][2] :
            a[j],a[j+1] = a[j+1], a[j]
for i in range(len(b)):
    for j in range(0, len(b)-i-1):
        if b[j][2] > b[j+1][2] :
            b[j],b[j+1] = b[j+1], b[j]
for i in range(len(c)):
    for j in range(0, len(c)-i-1):
        if c[j][2] > c[j+1][2] :
            c[j],c[j+1] = c[j+1], c[j]
print(a)
print("------")
print(b)
print("------")
print(c)

选取若干excel文件中的某些固定字段到一张汇总结果表

import xlrd
import xlwt
from pathlib import Path, PurePath
# 导入excel和文件操作库

# 指定要合并excel的路径
src_path = r'C:\Users\zh128\Desktop'
# 指定合并完成的路径
dst_file = r'C:\Users\zh128\结果.xlsx'

# 取得该目录下所有的xlsx格式文件
p = Path(src_path)
files = [x for x in p.iterdir() if PurePath(x).match('*.xlsx')]

# 准备一个列表存放读取结果
content = []

# 对每一个文件进行重复处理
for file in files:
    # 用文件名作为每个用户的标识
    username = file.stem
    data = xlrd.open_workbook(file)
    table = data.sheets()[0]
    # 取得每一项的结果
    answer1 = table.cell_value(rowx=0, colx=0)
    answer2 = table.cell_value(rowx=1, colx=1)
    temp = f'{username},{answer1},{answer2}'
    
    # 合并为一行先存储起来
    content.append(temp.split(','))
    print(temp)
    # 输出
    # 韩梅梅,D,B
    # 李雷,D,C

# 准备写入文件的表头
table_header = ['员工姓名', '第一题', '第二题']

workbook = xlwt.Workbook(encoding='utf-8')
xlsheet = workbook.add_sheet("统计结果")

# 写入表头
row = 0
col = 0
for cell_header in table_header:
    xlsheet.write(row, col, cell_header)
    col += 1

# 向下移动一行
row += 1
# 取出每一行内容
for line in content:
    col = 0
    # 取出每个单元格内容
    for cell in line:
        # 写入内容
        xlsheet.write(row, col, cell)
        # 向右移动一个单元格
        col += 1
    # 向下移动一行
    row += 1
# 保存最终结果
workbook.save(dst_file)

拆分文件中某些字段进行独立分离


for line in range(1,employee_number):
    content = table.row_values(rowx=line, start_colx=0, end_colx=None)
    # 将表头和员工数量重新组成一个新的文件 
    new_content = []
    # 增加表头到要写入的内容中
    new_content.append(salary_header)
    # 增加员工工资到要写入的内容中
    new_content.append(content)
    # 调用自定义函数write_to_file()写入新的文件
    write_to_file(filename = content[1], cnt = new_content)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值