두 개의 별도의 Excel 통합 문서에서 추출한 두 목록 목록이 있습니다. 각 요소는 자체 요소 두 개를 포함합니다. 이 목록은 각 Excel 통합 문서의 처음 두 열에있는 데이터를 나타냅니다. 예를 들면 :비교 파이썬/xlrd 두 별도의 시트에서 Excel 데이터를 비교
search_terms = [['term1',300],['term2',400],['term3',200]...] #words searched on our website with number of hits for each
item_description = [[900001,'a string with term1'],[900002,'a string with term 2'],[900003,'a string with term 1 and 2']...] #item numbers with matching descriptions
내 목표는 item_descriptions의 문자열로 SEARCH_TERMS의 문자열을 비교하고, 각 검색어에 대한 ITEM_DESCRIPTION에서 항목 번호와 일치의 목록을 컴파일하는 것입니다. 그런 다음 생성하는 히트 양을 기준으로 상위 250 개 용어와 일치하는 항목 번호를 가져오고 싶습니다.
나는 xlrd에서 두 목록을 생성하고 난 다음과 같은 목록을 생성하는 튜플로 변환하고 작업 할 것입니다 생각 :results = [['term1',300,900001,900003],['term2',400,900002,900003],['term3',200]] #search term, number of hits, and matching item numbers based on item description
그때 인접 항목 번호를 작성합니다을 xlwt를 사용하여 표시/프리젠 테이션 목적으로 파일을 Excel에서 비교합니다.
파이썬, xlrd 및 프로그래밍과 관련하여 나는 초록색입니다. 나는 나의 접근 방식과 관련하여 나의 순진함에 대한 민감성과 함께 어떤 입력과 방향에 감사 드린다.
키워드 (이 경우 'term3')가 item_description에 없으므로 결과 [2]에 900000 번호를 넣지 않았습니다. 이것은 제가 찾고있는 접근 방법과 같습니다. 나는 그것으로 국수를 먹을 것이다! 지금까지 도움을 주셔서 감사합니다! – shatenfreude
부분 검색이 검색됩니까? 예를 들어, 용어는 '사과'이고 설명은 '사과가 들어있는 제품'이며 품목 번호는 900001입니다.이 문자열은 부분 일치 문자열 (사과/사과 및 단순히 사과). 지금까지 도와 주셔서 감사합니다! ** 편집 ** 잘, nm, 그냥 사용중인 정규 표현식 연산을 찾았습니다. 이것은 내가하고 싶은 멋진 코드입니다! 고맙습니다! – shatenfreude
예! re.findall (pattern, string)은 모든 하위 문자열을 찾아 목록에 배치합니다. 단어의 시작 부분이나 끝 부분에서만 하위 문자열을 찾으려면^(단어 시작) 및 $ (단어 끝) 한정자를 사용하십시오. – ekrah