귀하의 시도가 문자를 제거하지 않습니다
from docx import Document
document = Document(file_to_read)
text_string = ''
for paragraph in document.paragraphs:
text_string += paragraph.text+"\n"# -*- coding: utf-8 -*-
print text_string
출력은 같다. replace
메서드를 사용하여 문자열의 문자를 대체 할 수 있으며, 빈 문자열로 대체하여 문자를 제거하는 데에도 사용할 수 있습니다.
유일한 문제는 소스 코드에서 0xF0B7을 올바르게 나타내야하고 적절한 방법은 document.paragraphs
에 일반 문자열이나 유니 코드 문자열이 있는지 여부에 따라 다릅니다 (유니 코드 문제를 피하기 위해 python3을 사용하는 것이 좋습니다). 나는 그들이 유니 코드 문자열이라고 가정하고 코드 포인트를`u "\ uF0B7"로 표현할 것입니다. (정상적인 문자열이라면 인코딩에 의존 할 것입니다.)
text_string
빌드 방식이 차선책 일 수 있기 때문에 코드에 문제가 있습니다. 조각에서 문자열을 작성하는 또 다른 방법은 조각을 목록에 넣은 다음 "".join(l)
을 사용하여 결합하는 것입니다.
이 함께 당신이 얻을 퍼팅 (document.paragraphs
유니 코드 문자열이라고 가정) :
from docx import Document
document = Document(file_to_read)
text_string = u"\n".join([p.replace(u"\uF0B7", u"")
for p in document.paragraphs])
print(text_string)
당신이 문자열 전에 u
의를 제거해야 python3 당신이 사용하는 경우 (python3에서 이후의 모든 문자열이 유니 코드이다). 또한 print
을 입력 할 때 문서의 모든 문자를 지원하는 인코딩이 있어야합니다 (첫 번째 위치에서 글 머리 기호를 제거하려는 이유 일 수 있음). 당신 만이 할 수있는 영어 문자를 원하는 경우
어떤 도구를 사용하고 있습니까? Openpyxl은 Excel 용입니다. –
죄송합니다. 내가 사용하고있는 단어 파일을 읽으려면 : docx. –
@Kristof 코드를 추가했습니다. –