2017-03-17 6 views
0

CSVファイルを使用してpandasデータフレームを作成しようとしています。パンダデータフレーム作成時の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 

そしてそこに私がエラーだ:「無効なスタートバイトUnicodeDecodeError: 『UTF-8』コーデックは位置22でバイト0xf6をデコードすることはできませんが」。

データフレームがエンコード/デコードされなければならないものは何ですか?

答えて

1

あなたがしようとしました:それは動作するようになりまし

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

!どうもありがとうございました:)小さなディテールが結果にどのように影響するかは面白いです。 –

+0

シンプルで効果的:) – zipa

関連する問題