2010-02-14 4 views
0

MS Word 문서를 열 때 또는 대부분의 Windows 파일 형식을 열려고하면 아래에 주어진 것처럼 횡설수설이 실제 텍스트로 간헐적으로 표시됩니다. 들어가서 횡설수설을 무시하고 싶은 텍스트를 추출해야합니다 - 아래 주어진 것과 같습니다. 중요한 텍스트 만 추출하려면 어떻게해야합니까? 나머지는 무시하십시오. 제발 조언.Python을 사용하여 Word 문서에서 텍스트를 구문 분석하는 방법은 무엇입니까?

여기에 doc라는 단어의 open("sample.doc",r").read() 샘플이 있습니다. 모든 파일 형식에서 정보를 추출하는 이유 감사

00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00In an Interesting news,his is the first time we polled Indian channel community for their preferred memory supplier. Transcend came a close second, was seen to be more popular among class A city based resellers, was also the most recalled memory brand among customers according to resellers. However Transcend channels complained of parallel imports and constant unavailability of the products in grey x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x 

답변

3

가장 유용한 도구로, 특히 모든 파이썬 솔루션이 필요한 도구는 OleFileIO입니다.

+0

위의 내용은 .DOC 파일입니다 .DOCX 파일은 단순히 압축 된 XML 파일입니다. –

0

는 더 일반적인 없다. 정보를 추출하는 방법을 알고있는 형식을 알아야합니다.

처음으로 말하고 싶습니다. 따라서 원하는 정보를 변환하거나 추출 할 수있는 라이브러리 및 소프트웨어가 필요합니다. Ofir MicroSoft에서 언급했듯이이 형식을위한 도구가 있습니다.

그러나이 작업을 수행 할 수없고 읽을 수있는 파일에 텍스트가 표시 될 가능성이있는 경우 정상적인 읽기를 수행하고 텍스트를 작성할 바이트 시퀀스를 찾을 수 있습니다. 그렇다면 질문을 던지십시오. 텍스트 검색을 위해 지원해야하는 언어/문자 세트는 무엇입니까? 멀티 바이트 텍스트입니까?

쉬운 시작은 데이터를 반복하여 [a-zA-z0-9_-]의 시퀀스를 찾아 텍스트를 찾는 것입니다. 하지만 단어는 아마도 멀티 바이트입니다. 그래서 당신은 하나의 문자로 더블 바이트를 스캔해야합니다.

참고 : open office 및 docx와 같은 새로운 형식 중 일부는 압축 된 컨테이너의 여러 파일입니다. 따라서 먼저 파일의 압축을 풀고 찾고있는 텍스트 뒤에 XML 문서를 스캔해야합니다.

0

Word doc은 압축 형식입니다. 실제 데이터를 얻으려면 우선 압축을 풀어야합니다 (winrar와 같은 프로그램에서 문서 파일을 열면 여러 파일이 포함되어 있음을 알 수 있습니다.)

형식을 읽는 것조차도 이 모든 방법으로 모든 데이터를 가져올 지 확신 할 수는 없지만 어려운 일입니다.

0

Word 문서를 수백 개까지 쿼리해야하는 비슷한 문제가 있습니다. Word 파일을 텍스트 파일로 변환하고 일반 텍스트 구문 분석을 사용했습니다. 도구. 잘 작동했습니다.

관련 문제