반응형
파일에서 읽고 utf-8에 저장하는 Python
파일에서 읽기, 문자열 처리 및 UTF-8 파일에 저장하는 데 문제가 있습니다.
다음은 코드입니다.
try:
filehandle = open(filename,"r")
except:
print("Could not open file " + filename)
quit()
text = filehandle.read()
filehandle.close()
그런 다음 가변 텍스트를 처리합니다.
그리고
try:
writer = open(output,"w")
except:
print("Could not open file " + output)
quit()
#data = text.decode("iso 8859-15")
#writer.write(data.encode("UTF-8"))
writer.write(text)
writer.close()
이것은 파일을 완벽하게 출력하지만 내 편집기에 따르면 iso 8859-15에서 그렇게합니다. 동일한 편집기가 입력 파일 (변수 파일 이름에 있음)을 UTF-8로 인식하므로 왜 이런 일이 발생했는지 모르겠습니다. 내 연구에 따르면 주석이 달린 줄은 문제를 해결해야합니다. 그러나 그 줄을 사용할 때 결과 파일은 주로 특수 문자로 횡설수설합니다. 텍스트는 스페인어로 물결표가있는 단어입니다. 난 정말 당황해서 어떤 도움을 주시면 감사하겠습니다 ....
codecs
모듈을 사용하여 프로그램의 I / O 경계에서 유니 코드와의 텍스트를 처리합니다 .
import codecs
with codecs.open(filename, 'r', encoding='utf8') as f:
text = f.read()
# process Unicode text
with codecs.open(filename, 'w', encoding='utf8') as f:
f.write(text)
편집 :io
모듈은 지금 코덱 대신 추천 파이썬 3의와 호환되는 open
구문 :
import io
with io.open(filename, 'r', encoding='utf8') as f:
text = f.read()
# process Unicode text
with io.open(filename, 'w', encoding='utf8') as f:
f.write(text)
아래 코드로도 통과 할 수 있습니다.
file=open(completefilepath,'r',encoding='utf8',errors="ignore")
file.read()
open을 사용하여 그렇게 할 수 없습니다. 코덱을 사용하십시오.
오픈 내장 함수를 사용하여 파이썬에서 파일을 열 때 항상 파일을 ascii로 읽고 쓸 것입니다. utf-8로 작성하려면 다음을 시도하십시오.
import codecs
file = codecs.open('data.txt','w','utf-8')
참고 URL : https://stackoverflow.com/questions/19591458/python-reading-from-a-file-and-saving-to-utf-8
반응형
'Program Tip' 카테고리의 다른 글
자동 조정 방법 (0) | 2020.11.16 |
---|---|
파이썬의 urllib를 사용하여 헤더를 어떻게 설정합니까? (0) | 2020.11.16 |
클래스 예제에 대한 호출 어댑터를 만들 수 없습니다. (0) | 2020.11.16 |
PHP : 분할 문자열 (0) | 2020.11.16 |
내 루트 MySQL 암호를 어떻게 찾습니까? (0) | 2020.11.16 |