모듈:테이블 가져오기
Module| 이 모듈은 알파 등급입니다.타사 입력에 사용할 준비가 되어 있으며, 문제가 발생하는지 확인하기 위해 몇 페이지에서 사용할 수 있지만 지켜봐야 합니다.새로운 기능에 대한 제안이나 입력 및 출력 메커니즘의 변경을 환영합니다. |
사용.
{{#선택사항:테이블 가져오기 페이지= 구성= 공통= }} 이 모듈은 위키백과 문서의 표에서 Wikidata로 데이터를 가져오도록 설계되었습니다.테이블의 첫 번째 열은 항목의 이름이어야 합니다.
- 해당 Wikidata 항목이 있는 기존 아티클에 대한 링크(또는 리디렉션)인 경우 데이터를 이 항목으로 가져옵니다.
- 첫 번째 열에 Wikidata 항목에 대한 유효한 식별자(예: Q123456)가 포함되어 있으면 데이터를 이 항목으로 가져옵니다.
- 일반 텍스트 또는 빨간색 링크인 경우 데이터를 새 Wikidata 항목으로 가져옵니다.
매개변수
- page - 구문 분석할 아티클/페이지의 이름입니다.
page=List of dams in South Africa - config - type-protocol-option 형식의 테이블의 각 열에 저장된 데이터 유형에 대한 세부 정보입니다.현재 인식되는 유형은 다음과 같습니다.
- 라벨 - 기사의 이름
- wikilink - 속성의 값이 되어야 하는 아티클에 대한 링크(예:
wikilink-P131 - quantity - 세 번째 매개 변수에 단위를 지정합니다(예:
quantity-P2048-Q11573 - year - 4자리 숫자의 연도(예:
year-P571 - text - 문자열 데이터 유형으로 가져올 텍스트(예:
text-P3562 - {{cord}} 템플릿 내부의 좌표 위치. 예를 들어,
coord-P625 - 사용 안 함(또는 다른 인식되지 않는 유형) - 가져오지 않을 열을 나타냅니다.
- common - 목록의 모든 항목이 가져야 하는 값 집합으로, 속성-값으로 쌍으로 형식이 지정됩니다.
common=P31-Q12323,P17-Q258
메모들
- Wikidata에 해당 속성에 대한 문이 이미 있는 경우 값이 가져오는 것과 동일하거나 다른지 여부와 관계없이 값이 더 이상 사용되지 않음으로 표시된 경우에도 모듈은 클레임을 가져오지 않습니다.
요구하다("스캐너덜너덜) 현지의 p = {} 현지의 기능. 해결책(라벨.) 현지의 엔티티 확인 = 요구하다("모듈:엔티티 ID 확인")._id 현지의 큐드 현지의 미가공 라벨 한다면 라벨. 그리고나서 미가공 라벨 = string.match(라벨.,'%[%[([^% %]]+)% ') 또는 string.match(라벨.,'%[%[([^% %]]+)%]%]') 한다면 미가공 라벨 그리고나서 큐드 = 엔티티 확인(미가공 라벨) 또 다른 미가공 라벨 = 라벨. 끝. 끝. 돌아가다 큐드,미가공 라벨 끝. 현지의 기능. 단정한 끈(끈) 현지의 깔끔한 = mw.ustring.gsub(끈,"%<ref.+%<%/ref%>","") <ref>에 있는 모든 참조를 제거합니다.</ref> 깔끔한 = mw.ustring.gsub(깔끔한,"%<ref.+%/%>","") <ref>에 있는 모든 참조를 제거합니다./> 깔끔한 = mw.본문.다듬다(깔끔한) 간격을 좁히다 돌아가다 깔끔한 끝. 기능. p.수입품(틀) 현지의 탭 = " " 현지의 위키드 = "Q328" 영어 위키백과의 QID 현지의 에올 = "<br>" 줄 끝 문자열 현지의 coord2 텍스트 = 요구하다("모듈:좌표/샌드박스")._cord2text 현지의 논병아리 = 틀.논병아리 또는 틀:상위 항목 가져오기().논병아리 한다면 것은 아니다. 논병아리.페이지입니다. 그리고나서 돌아가다 "지정된 페이지가 없습니다." 끝. 한다면 것은 아니다. 논병아리.설정 그리고나서 돌아가다 "구성 없음." 끝. 현지의 설정 = {} 위해서 c1,콜 에 짝을 짓다(mw.본문.분열되다(논병아리.설정,",")) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 설정[c1] = mw.본문.분열되다(콜,"-") 끝. 현지의 흔한 = {} 한다면 논병아리.흔한 그리고나서 위해서 c1,버팀목 에 짝을 짓다(mw.본문.분열되다(논병아리.흔한,",")) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 흔한[c1] = mw.본문.분열되다(버팀목,"-") 흔한[흔한[c1][1]] = 흔한[c1][2] 인덱스 생성(예: 공통["P31"]=Q39715 끝. 끝. 현지의 내용물 = mw.제목.신규(논병아리.페이지입니다.):콘텐츠 가져오기() 읽기 페이지가 지정됨 내용물 = string.match(내용물,"%{% (.+)% %}") 식탁만 차리다 내용물 = string.gsub(내용물," ","\n") 열 구분 기호에 \n 사용 현지의 행들 = mw.본문.분열되다(내용물," -\n",진실의) 테이블을 열로 나누다 테이블.제거(행들,1) 테이블 정의 제거 테이블.제거(행들,1) 제목 행 제거 현지의 산출량 = "" 현지의 v2 = "" 위해서 rn,배를 젓다 에 짝을 짓다(행들) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 현지의 열 = mw.본문.분열되다(배를 젓다,"\n") 테이블 롬을 열로 분할 테이블.제거(열,1) 첫 번째 \n 문자 앞에 있는 내용 제거 현지의 라벨. = 열[1] 한다면 라벨. 그리고나서 라벨. = 단정한 끈(라벨.) 현지의 큐드 큐드,라벨. = 해결책(라벨.) 첫 번째 열이 링크인 경우 qid 확인 한다면 것은 아니다. 큐드 그리고나서 큐드 = string.match(라벨.,"Q%d+") 첫 번째 열에 QID가 지정되었는지 확인합니다. 끝. 현지의 독립체 한다면 큐드 그리고나서 독립체 = mw.위키베이스.엔티티 가져오기(큐드) 또 다른 v2 = v2 .. "작성" .. 에올 큐드 = "마지막" 새 항목 생성, 따라서 LAST 사용 v2 = v2 .. 큐드 .. 탭 .. '렌' .. 탭 .. '"' .. 라벨. .. '"' .. 에올 한다면 흔한["P31"] 그리고나서 자동 설명 만들기 v2 = v2 .. 큐드 .. 탭 .. '덴' .. 탭 .. '"' .. mw.위키베이스.레이블 가져오기(흔한["P31"]) 한다면 흔한["P17"] 그리고나서 국가를 추가합니다. v2 = v2 .. 에서 한다면 흔한["P131"] 그리고나서 v2 = v2 .. mw.위키베이스.레이블 가져오기(흔한["P131"]) .. ", " 끝. v2 = v2 .. mw.위키베이스.레이블 가져오기(흔한["P17"]) 끝. v2 = v2 .. '"' .. 에올 끝. 위해서 c = 1,#흔한 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 v2 = v2 .. 큐드 .. 탭 .. 흔한[c][1] .. 탭 .. 흔한[c][2] .. 에올 끝. 끝. 현지의 기능. v2에 추가(버팀목,발) v2 = v2 .. 큐드 .. 탭 .. 버팀목 .. 탭 .. 발 .. 탭 .. "S143" .. 탭 .. 위키드 .. 에올 돌아가다 v2 끝. 위해서 cn,콜 에 짝을 짓다(열) 하다, 하다, 하다, 하다, 하다, 하다, 하다, 하다, 나다 한다면 설정[cn] 그리고나서 현지의 수입품 = 진실의 한다면 독립체 그리고나서 한다면 설정[cn][2] 그리고나서 한다면 독립체:모든 문 가져오기(설정[cn][2])[1] 그리고나서 이 속성에 대한 문이 이미 있습니다. 수입품 = 거짓의 끝. 또 다른 가져올 속성이 지정되지 않았습니다. 수입품 = 거짓의 끝. 끝. 한다면 수입품 그리고나서 콜 = 단정한 끈(콜) 한다면 설정[cn][1] == "크릴링크" 그리고나서 현지의 발 = 해결책(콜) 한다면 발 그리고나서 v2 = v2에 추가(설정[cn][2],발) 끝. 그렇지 않으면 설정[cn][1] == "연도" 그리고나서 현지의 발 = string.match(콜,"%d%d%d%d") 한다면 발 그리고나서 v2 = v2에 추가(설정[cn][2],"+" ..발 .. "-00-00T00:00:00Z/9") 끝. 그렇지 않으면 설정[cn][1] == "스캐너덜너덜 그리고나서 현지의 발 = string.gsub(콜,",","") 쉼표 제거 발 = string.match(발,"%d+%?%d*") 값 추출, 내부 변환 템플릿에서 가능성 있음 한다면 발 그리고나서 한다면 현.상단(string.sub(설정[cn][3],1,1)) == "Q" 그리고나서 설정[cn][3] = string.sub(설정[cn][3],2) 끝. v2 = v2에 추가(설정[cn][2],발 .. "U" .. 설정[cn][3]) 끝. 그렇지 않으면 설정[cn][1] == "텍스트" 그리고나서 한다면 콜 ~= "" 그리고나서 v2 = v2에 추가(설정[cn][2],'"' .. 콜 .. '"') 끝. 그렇지 않으면 설정[cn][1] == "코디" 그리고나서 한다면 콜 ~= "" 그리고나서 현지의 발 = mw.현재 프레임 가져오기():전처리(콜) v2 = v2에 추가(설정[cn][2],"@" .. coord2 텍스트(발,"lat") .. "/" .. coord2 텍스트(발,"긴")) 끝. 끝. 끝. 끝. 끝. 끝. 끝. 돌아가다 v2 끝. 돌아가다 p