2017-03-17 9 views
0

내 CSV 파일을 사용하여 팬더 데이터 프레임을 만들려고합니다.팬더 데이터 프레임을 만들 때 UnicodeDecodeError

여기 내 코드입니다 :

import requests, re, pandas, csv 
from bs4 import BeautifulSoup 
from io import StringIO 

base_url="http://www.hltv.org/?pageid=188&statsfilter=2816&offset=" 
with open('cs_data1.csv', 'w', newline='') as out_file: 
    for page in range(0,1200,50): 
     r=requests.get(base_url+str(page)) 
     c=r.content 

     table=BeautifulSoup(c,"html.parser") 
     for row in table.find_all('div', style=re.compile(r'width:606px;height:22px;background-color')): 
      buffer=StringIO(row.get_text(strip=True, separator=',')) 
      reader=csv.reader(buffer, skipinitialspace=True)   
      writer=csv.writer(out_file) 
      writer.writerows(reader) 

그 코드는 CSV 파일을 만들고 그것을 잘 작동합니다.

df=pandas.read_csv("cs_data1.csv") 
df 

을 그리고 거기에 내가 오류가 발생했습니다 : 그럼 난 팬더 dataframe을 만들려고 "UnicodeDecodeError을 'UTF-8'코덱의 위치는 22 바이트 0xf6을 디코딩 할 수 없습니다 무효 시작 바이트를".

데이터 프레임을 인코딩/디코딩해야하는 이유는 무엇입니까?

답변

1

당신은 시도해 봤어 : 그것은 지금 작동

df = pandas.read_csv("cs_data1.csv", encoding='utf-8') 
+0

! 정말 고마워요. :) 작은 세부 사항이 결과에 어떤 영향을 미치는지 재밌 네요. –

+0

간단하면서도 효과적인 :) – zipa