python对excel表中数据进行匹配并写入

结果在笔记本里

import numpy as np
import xlrd
import xlutils
data = xlrd.open_workbook('D:/files/审计/2014-2019汇总.xlsx')
key= xlrd.open_workbook('D:/files/审计/关键词.xlsx')
#bk=xlrd.open_workbook('D:/files/审计/2014-2019汇总2.xlsx')
fp=open('D:/files/审计/result.txt','w')
table = data.sheets()[0]
table2 = key.sheets()[0]
nrows=table.nrows #获取行数
keyrow=table2.nrows
print(nrows)
print(keyrow)
for i in range(1,nrows):
    row_data=table.row_values(i)
    cell_H = table.cell(i,7).value
    print(cell_H)
    line=''
    for j in range(0,keyrow):
        cell_A=table2.cell(j,0).value
        if cell_H.find(cell_A)!=-1:
            line = line + ' ' + cell_A
    line=line+ '\n'
    fp.write(line)
fp.close()


直接在原表写入

# -- coding: utf-8 --
import numpy as np
import xlrd
import xlwt
import xlutils
from xlutils import copy
data = xlrd.open_workbook('D:/files/审计/2014-2019汇总2.xlsx','w+')
wbook = copy.copy(data)#复制文件并保留格式
w_sheet = wbook.get_sheet(0)#索引sheet表
key= xlrd.open_workbook('D:/files/审计/关键词.xlsx')
table = data.sheets()[0]
table2 = key.sheets()[0]
nrows=table.nrows #获取行数
keyrow=table2.nrows
print(nrows)
print(keyrow)
for i in range(1,nrows):
    cell_H = table.cell(i,7).value
    #print(cell_H)
    line=''
    for j in range(0,keyrow):
        cell_A=table2.cell(j,0).value
        if cell_H.find(cell_A)!=-1:
            line = line + ' ' + cell_A
    #line=line+ '\n'
    w_sheet.write(i,8,line)  # 向指定表中第i行j列写入数据m
wbook.save('D:/files/审计/2014-2019汇总2.xlsx')


  • 3
    点赞
  • 36
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
好的,你可以使用Python中的pandas库来实现将字典的键值自动匹配Excel对应的表头字段并写入数据,并保存输出Excel。 具体实现步骤如下: 1. 首先,读取Excel文件中的表头字段,可以使用pandas的read_excel函数。例如: ```python import pandas as pd df = pd.read_excel('input.xlsx') columns = df.columns.tolist() # 获取表头字段列表 ``` 其中,'input.xlsx'是输入的Excel文件名,将表头字段存储在列表columns中。 2. 将字典转换为DataFrame格式,并匹配表头字段,可以使用pandas的DataFrame函数和reindex函数。例如: ```python data = {'name': ['Tom', 'Jerry', 'Mickey'], 'age': [10, 12, 8], 'gender': ['M', 'M', 'F']} df = pd.DataFrame(data) df = df.reindex(columns=columns) # 匹配表头字段 ``` 其中,reindex函数会根据表头字段重新排序DataFrame的列。 3. 将DataFrame写入Excel文件中,可以使用pandas的to_excel函数。例如: ```python df.to_excel('output.xlsx', index=False) ``` 其中,'output.xlsx'是输出的Excel文件名,index=False表示不需要写入行索引。 完整代码示例: ```python import pandas as pd # 读取Excel表头字段 df = pd.read_excel('input.xlsx') columns = df.columns.tolist() # 将字典转换为DataFrame,并匹配表头字段 data = {'name': ['Tom', 'Jerry', 'Mickey'], 'age': [10, 12, 8], 'gender': ['M', 'M', 'F']} df = pd.DataFrame(data) df = df.reindex(columns=columns) # 将DataFrame写入Excel文件中 df.to_excel('output.xlsx', index=False) ``` 运行代码后,会在当前目录下生成一个名为output.xlsx的Excel文件,其中包含了字典中的键值,并按照表头字段自动匹配写入Excel中。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值