吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 920|回复: 4
收起左侧

[求助] python 如何判断输入的文本在excel里有没有

[复制链接]
SuenL 发表于 2022-6-21 23:30
25吾爱币
我是小白想自己写个小工具,看到很多资料才写出一点点
image.png
想查找已经读取到的id,判断输入的id在不在读取到的id里

最佳答案

查看完整内容

[mw_shl_code=python,true]# -*- coding:utf-8 -*- import openpyxl from openpyxl import load_workbook wb = load_workbook(filename='./1.xlsx') # 表格所在位置,这里示例是在项目根目录下,是个名为“1.xlsx”的表格。仅支持.xlsx格式。 ws = wb.worksheets[0] max_row = ws.max_row max_col = ws.max_column def value_by_col(value, col): """ :param value: 查询的值,需要与对应单元格数据类型 ...

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

醉红尘0 发表于 2022-6-21 23:30
[Python] 纯文本查看 复制代码
# -*- coding:utf-8 -*-
import openpyxl
from openpyxl import load_workbook

wb = load_workbook(filename='./1.xlsx')  # 表格所在位置,这里示例是在项目根目录下,是个名为“1.xlsx”的表格。仅支持.xlsx格式。
ws = wb.worksheets[0]
max_row = ws.max_row
max_col = ws.max_column


def value_by_col(value, col):
    """

    :param value: 查询的值,需要与对应单元格数据类型一致。如查整数用int,文本用str,小数用flote
    :param col: 要查询的列号,从1开始,A对应1,B对应2,依次类推
    :return: NULL
    """
    # 针对指定列查询
    re = False
    for row in range(max_row):
        use_cell = ws.cell(row + 1, col)
        if value == use_cell.value:
            print("已找到,在%s单元格"% use_cell.coordinate)
            re = True
    if re:
        pass
    else:
        print("未找到符合的单元格")


def value_by_row(value, row):
    """
    针对指定行查询
    :param value: 要查询的值,需要与对应单元格数据类型一致。如查整数用int,文本用str,小数用flote
    :param row: 要查询的行号,从1开始
    :return: NULL
    """
    re = False
    for col in range(max_col):
        use_cell = ws.cell(row, col + 1)
        # print(use_cell.value, type(use_cell.value))
        if value == use_cell.value:
            print("已找到,在%s单元格" % use_cell.coordinate)
            re = True
    if re:
        pass
    else:
        print("未找到符合的单元格")


def value_by_all(value):
    """
    针对execl全表查询
    :param value: 要查询的值,需要与对应单元格数据类型一致。如查整数用int,文本用str,小数用flote
    :return: NULL
    """
    #
    re = False
    for col in range(max_col):
        for row in range(max_row):
            use_cell = ws.cell(row + 1, col + 1)
            if use_cell.value == value:
                re = True
                print("已找到,在%s单元格" % use_cell.coordinate)
    if re:
        pass
    else:
        print("未找到符合的单元格")


if __name__ == "__main__":
    # 根据需要调用对应的函数
    value_by_col('20190871540000317312', 6)  # 在第6列(即F列)查找
    value_by_row('20190871540000317312', 4)  # 在第4行查找
    value_by_all('20190871540000317312')  # 全表查找
YuanFang0w0 发表于 2022-6-22 11:08
先把excel的文本读成一个列表,再进行对比判断呢?
Piz.liu 发表于 2022-6-22 11:15
试试 应该是这样
[Python] 纯文本查看 复制代码
df_li = df.values.tolist()
result = []
for s_li in df_li:
    result.append(s_li[0])

for x in result:
     if mz==x:
          print('已经存在')

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
SuenL + 1 + 1 热心回复!

查看全部评分

lbbas 发表于 2022-6-23 08:53
[Python] 纯文本查看 复制代码
if mz in df['旺旺id'].values:
    print('在的')
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 10:31

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表