Python CSV는 문자를 인코딩 할 수 없습니다.

케인

Python an Beautiful Soup을 사용하여 웹 사이트에서 업체의 이름, 주소 및 전화 번호를 가져 오는 스크립트를 만들었으며 출력은 CSV 파일의 세 열에 저장됩니다.

스크립트는 잘 작동하지만 다음과 같은 비즈니스 이름을 얻으면 중지됩니다.

u'\nLevel 12, 280 George Street SYDNEY\xa0 NSW\xa0 2000. . Sydney. NSW 2000\n'

문제는 "xa0"부분입니다. 오류 메시지는 다음과 같습니다.

UnicodeEncodeError: 'ascii' codec can't encode character u'\xa0' in position 35: ordinal not in range(128)

이 오류가 무엇을 의미하는지 모호하지만 어떻게 처리해야할지 모르겠습니다. 어떤 아이디어?

감사

편집하다:

내 스크립트는 다음과 같습니다.

import bs4
import requests

page = requests.get('http://accountantlist.com.au/x123-Accountants-in-Sydney.aspx?Page=0')
soup = bs4.BeautifulSoup(page.content)

for company in soup.select('table#ctl00_ContentPlaceHolder1_dgLawyers tr > td > table'):
     name = company.a.text
     address = company.find_all('tr')[1].text
     phone = company.tr.find_all('td')[1].text
     with open('/home/kwal0203/Desktop/eggs.csv', 'a') as csvfile:
             s = csv.writer(csvfile)
             s.writerow([name,address,phone])
Tanveer 알람

utf-8Python의 내장 csv기능이 유니 코드를 지원하지 않으므로 csv 파일에 쓰는 동안 형식 으로 인코딩해야합니다 .

def remove_non_ascii(text):
    return ''.join(i for i in text if ord(i)<128)


name = remove_non_ascii(company.a.text)
address = remove_non_ascii(company.find_all('tr')[1].text)
phone = remove_non_ascii(company.tr.find_all('td')[1].text)

with open('/home/kwal0203/Desktop/eggs.csv', 'a') as csvfile:
    s = csv.writer(csvfile)
    s.writerow([data.encode("utf-8") for data in [name,address,phone]])

또는 기본적으로 유니 코드를 지원하는 unicodecsv설치할 수 있습니다 .

이렇게 설치할 수 있습니다.

pip install unicodecsv

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

Python CSV는 문자를 인코딩 할 수 없습니다.

분류에서Dev

코덱은 python3 문자를 인코딩 할 수 없습니다.

분류에서Dev

Python3 'ascii'코덱은 문자를 인코딩 할 수 없습니다.

분류에서Dev

csv를 UTF-8로 인코딩 할 수 없습니다.

분류에서Dev

'charmap'코덱이 HTML을 구문 분석하는 동안 Python에서 문자 오류를 인코딩 할 수 없습니다.

분류에서Dev

Python-문자열을 올바르게 인코딩 할 수 없습니다.

분류에서Dev

UnicodeEncodeError : 'charmap'코덱이 문자를 인코딩 할 수 없습니다 (Python 3.3에서)

분류에서Dev

UnicodeEncodeError : "ascii"는 HTML (Python)을 구문 분석하는 동안 '\ xe0'문자를 인코딩 할 수 없습니다.

분류에서Dev

Python에서 웹 사이트를 인코딩하는 데 문제가 있습니다. 'charmap'코덱을 가져 와서 위치에 '\ x9f'문자를 인코딩 할 수 없습니다.

분류에서Dev

Python MYSQL 'ascii'코덱이 10-25 위치의 문자를 인코딩 할 수 없습니다 : 서 수가 범위에 없습니다 (128).

분류에서Dev

Python3 'ascii'코덱은 위치 135-136의 문자를 인코딩 할 수 없습니다 : 서 수가 범위에 없습니다 (128).

분류에서Dev

Pymongo는 set 인수에 대한 개체를 인코딩 할 수 없습니다.

분류에서Dev

jQuery는 URL 인 매개 변수를 인코딩 할 수 없습니다.

분류에서Dev

'latin-1'코덱은 문자를 인코딩 할 수 없습니다.

분류에서Dev

UnicodeEncodeError : 'ascii'코덱은 문자를 인코딩 할 수 없습니다.

분류에서Dev

데이터를 CSV 파일로 내보내는 중 오류로 '\ xe8'문자를 인코딩 할 수 없습니다.

분류에서Dev

인코딩 할 수없는 문자를 무시하면서 Python3 (유니 코드) 문자열을 출력하는 방법

분류에서Dev

FFMPEG는 빠른 속도로 비디오를 인코딩 할 수 없습니다.

분류에서Dev

Python-반복 또는 재귀를 코딩 할 수 없습니다.

분류에서Dev

UnicodeEncodeError : 'ascii'코덱은 위치 0-2의 문자를 인코딩 할 수 없습니다 : 파이썬에서 범위 (128)에없는 서수

분류에서Dev

UnicodeEncodeError : 'ascii'코덱은 위치 0-2의 문자를 인코딩 할 수 없습니다 : 파이썬에서 범위 (128)에없는 서수

분류에서Dev

Python에서 "UnicodeEncodeError : 'ascii'코덱이 위치 3656에서 문자 u '\ xa0'을 인코딩 할 수 없습니다 : 서 수가 범위 (128)에 없음"오류를 수정하는 방법

분류에서Dev

Python에서 "UnicodeEncodeError : 'ascii'코덱이 위치 3656에서 문자 u '\ xa0'을 인코딩 할 수 없습니다 : 서 수가 범위 (128)에 없음"오류를 수정하는 방법

분류에서Dev

'Charmap'코덱은 문자를 인코딩 할 수 없습니다 (유니 코드 세르비아어 라틴어).

분류에서Dev

Jenkins의 호환되지 않는 문자 인코딩을 해결할 수 없습니다.

분류에서Dev

Jenkins의 호환되지 않는 문자 인코딩을 해결할 수 없습니다.

분류에서Dev

Spark 결과 인코딩 오류 'ascii'코덱이있는 HDInsight 클러스터의 UTF-8 텍스트는 위치에있는 문자를 인코딩 할 수 없습니다. 서 수가 범위에 없습니다 (128).

분류에서Dev

base64 인코딩 문자열 : PHP에서는 디코딩 할 수 있지만 Java에서는 디코딩 할 수 없습니까?

분류에서Dev

Eclipse, 오류 : GBK 인코딩에 매핑 할 수없는 문자

Related 관련 기사

  1. 1

    Python CSV는 문자를 인코딩 할 수 없습니다.

  2. 2

    코덱은 python3 문자를 인코딩 할 수 없습니다.

  3. 3

    Python3 'ascii'코덱은 문자를 인코딩 할 수 없습니다.

  4. 4

    csv를 UTF-8로 인코딩 할 수 없습니다.

  5. 5

    'charmap'코덱이 HTML을 구문 분석하는 동안 Python에서 문자 오류를 인코딩 할 수 없습니다.

  6. 6

    Python-문자열을 올바르게 인코딩 할 수 없습니다.

  7. 7

    UnicodeEncodeError : 'charmap'코덱이 문자를 인코딩 할 수 없습니다 (Python 3.3에서)

  8. 8

    UnicodeEncodeError : "ascii"는 HTML (Python)을 구문 분석하는 동안 '\ xe0'문자를 인코딩 할 수 없습니다.

  9. 9

    Python에서 웹 사이트를 인코딩하는 데 문제가 있습니다. 'charmap'코덱을 가져 와서 위치에 '\ x9f'문자를 인코딩 할 수 없습니다.

  10. 10

    Python MYSQL 'ascii'코덱이 10-25 위치의 문자를 인코딩 할 수 없습니다 : 서 수가 범위에 없습니다 (128).

  11. 11

    Python3 'ascii'코덱은 위치 135-136의 문자를 인코딩 할 수 없습니다 : 서 수가 범위에 없습니다 (128).

  12. 12

    Pymongo는 set 인수에 대한 개체를 인코딩 할 수 없습니다.

  13. 13

    jQuery는 URL 인 매개 변수를 인코딩 할 수 없습니다.

  14. 14

    'latin-1'코덱은 문자를 인코딩 할 수 없습니다.

  15. 15

    UnicodeEncodeError : 'ascii'코덱은 문자를 인코딩 할 수 없습니다.

  16. 16

    데이터를 CSV 파일로 내보내는 중 오류로 '\ xe8'문자를 인코딩 할 수 없습니다.

  17. 17

    인코딩 할 수없는 문자를 무시하면서 Python3 (유니 코드) 문자열을 출력하는 방법

  18. 18

    FFMPEG는 빠른 속도로 비디오를 인코딩 할 수 없습니다.

  19. 19

    Python-반복 또는 재귀를 코딩 할 수 없습니다.

  20. 20

    UnicodeEncodeError : 'ascii'코덱은 위치 0-2의 문자를 인코딩 할 수 없습니다 : 파이썬에서 범위 (128)에없는 서수

  21. 21

    UnicodeEncodeError : 'ascii'코덱은 위치 0-2의 문자를 인코딩 할 수 없습니다 : 파이썬에서 범위 (128)에없는 서수

  22. 22

    Python에서 "UnicodeEncodeError : 'ascii'코덱이 위치 3656에서 문자 u '\ xa0'을 인코딩 할 수 없습니다 : 서 수가 범위 (128)에 없음"오류를 수정하는 방법

  23. 23

    Python에서 "UnicodeEncodeError : 'ascii'코덱이 위치 3656에서 문자 u '\ xa0'을 인코딩 할 수 없습니다 : 서 수가 범위 (128)에 없음"오류를 수정하는 방법

  24. 24

    'Charmap'코덱은 문자를 인코딩 할 수 없습니다 (유니 코드 세르비아어 라틴어).

  25. 25

    Jenkins의 호환되지 않는 문자 인코딩을 해결할 수 없습니다.

  26. 26

    Jenkins의 호환되지 않는 문자 인코딩을 해결할 수 없습니다.

  27. 27

    Spark 결과 인코딩 오류 'ascii'코덱이있는 HDInsight 클러스터의 UTF-8 텍스트는 위치에있는 문자를 인코딩 할 수 없습니다. 서 수가 범위에 없습니다 (128).

  28. 28

    base64 인코딩 문자열 : PHP에서는 디코딩 할 수 있지만 Java에서는 디코딩 할 수 없습니까?

  29. 29

    Eclipse, 오류 : GBK 인코딩에 매핑 할 수없는 문자

뜨겁다태그

보관