tweepy를 사용하여 파이썬 csv.writer(
을 사용하여 CSV 파일에 트윗 텍스트를 저장했지만, 저장하기 전에 utf-8로 텍스트를 인코딩해야했습니다. 그렇지 않으면 tweepy가 이상한 오류를 발생시킵니다.csv에서 bytes 객체를 읽는 방법?
이제 텍스트 데이터는 다음과 같이 저장됩니다 :이이 코드를 사용하여 디코딩을 시도
"b'Lorem Ipsum\xc2\xa0Assignment '"
(텍스트가 3 열에있는 다른 컬럼에 데이터가 더) :
with open('data.csv','rt',encoding='utf-8') as f:
reader = csv.reader(f,delimiter=',')
for row in reader:
print(row[3])
그러나 텍스트를 디코딩하지는 않습니다. csv 리더가 데이터를 문자열 (예 : type(row[3])
)이 'str'
인 것으로 읽음에 따라 을 사용할 수없고 데이터를 bytes
으로 변환 할 수없는 경우 데이터가 한 번 더 인코딩됩니다.
어떻게 텍스트 데이터를 디코딩 할 수 있습니까?
편집 : 여기에 csv 파일의 샘플 라인이다 :
67783591545656656999,3415844,1450443669.0,b'Virginia School District Closes After Backlash Over Arabic Assignment: The Augusta County school district in\xe2\x80\xa6 | @abcde',52,18
참고 :이 솔루션은 인코딩 과정에 있다면, 내가 다시 전체 데이터를 다운로드하는 것을 여유가있을 수 있음을 유의하시기 바랍니다.
텍스트 편집기에서 해당 파일을 열면 나타나는대로 정확하게 파일에서 적어도 하나 개의 완전한 라인을 제시해주십시오 . 코드와 데이터가 모두 없으면 문제를 재현 할 수 없습니다. – BoarGules
죄송합니다. 예제를 추가했습니다. 해당 줄을 확장명이 .csv 인 파일로 저장하십시오. – gitmorty
그래서 csv 파일에는 문자 그대로 'b'Virginia ...'와 같이 'b'접두어가 붙은 문자열이 있습니다. – martineau