나는 그것에 관한 많은 자료가 있다는 것을 알고 있지만 내 문제에 대한 해결책을 찾을 수 없습니다.
이 텍스트는 내가 조작해야하는 txt 파일로 작성되었으며 많은 액센트 문자가 포함되어 있습니다. 어떤 이유로 든 제대로 관리 할 수 없습니다. 내 코드는 다음과 같습니다.
file = open ('parsed.txt', 'w', encoding = 'latin1')
file.write('ààààà')
이것은 잘 작동합니다.
하지만이 작업도 잘해야합니다.
with open('input.txt', 'r', encoding = 'latin1') as f:
string = f.read()
or_array = string.splitlines()
new_array = []
for line in or_array:
new = (line[13:]).strip()
print(new)
new_array.append(new)
new_string = ''
for lin in new_array:
new_string += lin
new_string += ' '
f_n = open('parsed.txt', 'w', encoding = 'latin1')
f_n.write(new_string)
그 코드에 무슨 문제가 있습니까?
입력:
00:00:06.49 ciaò
00:00:20.665 Questa è una provà
00:00:44.157 èè aa ò à ùù ù
00:00:44.157
산출:
ciaò Questa è una provàèè aa ò à ùù ù
감사합니다.
input.txt 의 내용 이 실제로 ISO-8859-1에 있으면 나를 위해 작동합니다 . UTF-8이면 잘못된 결과가 표시됩니다. 즉, 입력 내용을 복사 / 붙여 넣기하면 내용이 UTF-8 인 파일이 생성됩니다. 내가 할 경우 iconv -f utf-8 -t L1 < utf8.txt > input.txt
다음 프로그램은 잘 작동합니다.
그건 그렇고, 당신의 프로그램은 관용적 인 파이썬이 아니며 큰 입력에 대해 매우 비효율적입니다.
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다