亲测有效,查找excal中符合信息的列,存在新的excel中

本来就是只想找一下,excel 处理的,,,,然而这个上面的都是,,,,
貌似有两条思路,一种用传统的py对excel的库,另一种就是pd了,
找不到就直接pd转成数组了,处理之后再save一下,save的过程可以模仿一下,
总的来说就是只是在筛选符合要求的特定行,存为新的xlsx.
但是在下面,我会扩展两个问题。

#!/usr/bin/env python
# -*- encoding: utf-8 -*-
'''
@File    :  excel_try2.py
@Time    :   2020/07/13 00:24:03
@Author  :   ashley
@Contact :   512985297@qq.com
'''
import openpyxl
import re
import xlrd
from xlwt import *
from openpyxl import Workbook
import pandas as pd
import numpy as np

# path1 = 'C:\\Users\\文远\\Desktop\\git_test\\'
#数据来源,也就是excel表来源
#解释,是xlsx不是xls

data=pd.DataFrame(pd.read_excel(path1))
# feature_name=

data_value=data.values
print(data_value)
print(type(data_value))

row,col = data_value.shape[0],data_value.shape[1]

name_excellent = []#此为挑选信息做准备
#其实就是查找xlsx中符合信息的列,存在新的xlsx中
#select = []
print(name_excellent)
print(name_excellent[6])
# print(aa[0])
print(type(name_excellent))
# print(row,col)
# index=[]
index = np.array([])
number=0
for i in range(row):
    # for j in range(col):
    for name in name_excellent:
        if data_value[i,1] == name:
            index = np.append(index,i)
        # if data_value[i,]
print(index)
print(type(index))
index = index.astype('int32') #重要的转换,为了能够索引
print(type(index))
data_index = data_value[index,:]#得到了特定xlsx的行了
print("$"*100)
# print(data_index)
print(data_index.shape)

def arr2excel(data,path):
    wb = Workbook()
    ws = wb.active # 激活 worksheet
    [h, l] = data.shape  # h为行数,l为列数
    for i in range(1,h):
        row = []
        for j in range(l):
            row.append(data[i,j])
        ws.append(row)
        wb.save(path)
# print(ws)
# print(type(ws))
arr2excel(data_index,'.//Test.xlsx')#存在当前目录


1.如过有多个sheet咋办,我的方式简单粗暴,再加一层循环,大概形式如下:

wb1 = openpyxl.load_workbook(path1)
sheets1 = wb1.get_sheet_names()#sheets1里面装的就是所有的sheet名字,list
for i in range(len(sheets1)):#就是加这层循环里的
    sheet= wb1.get_sheet_by_name(sheets1[i])

2.如果使用的是xls,不是xlsx
其中的cell函数有些差别,具体的函数,好好查一查,目的驱动

if sheet.cell_value(r,3) == "??????":
if sheet.cell(row=r,column=3).value == "?????":
#这是一个重要的函数区别,注意就好
openpyxl.load_workbook(path1)#-----加载xlsx
xlrd.open_workbook(path2)#------加载xls

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值