Python - CSV 或 XLS 中匹配的正则表达式,并返回匹配的位置



我希望使用正则表达式在 csv 或 xls 文件中搜索字符串值,然后将匹配项的(行、列(位置返回给我。我在搜索和返回匹配单元格位置的命令方面都遇到问题。有什么技巧可以让 Python 轻松吗?

这是我到目前为止所拥有的:

import re
import csv
import numpy as np
import pandas as pd
import os
from pandas import *
from xlsxwriter import worksheet
def search_method(patterns, phrase):
for pat in patterns:
print("Searching fo pattern {}".format(pat))
print('n')
new_data = ''
with open(new_data) as csvDataFile:
csvReader = csv.reader(csvDataFile)
data = list(csv.reader(csvDataFile))
print(data[1])
test_phrase = data
test_patterns = ['S/N:{1}']
search_method(test_patterns, test_phrase)
print(type(data))
print(search_method(test_patterns, test_phrase))

对于正则表达式,您需要执行 re.compile 并使用 search(( 在每个逗号分隔值中查找表达式

pattern = re.compile('S/N:{1}']

因此,在您的search_method中,您需要类似的东西:

def search_method(pattern, file):
lineByColumn = {}
for line, bit in enumerate(file):
for column, pat in enumerate(file):
if pattern.search(pat):
map[line] = column

这将为您提供一个"地图",其中的行指向csv的列以及匹配的短语

最新更新