2017-03-17 5 views
0

Ich versuche Pandas Dataframe mit meiner CSV-Datei zu machen.UnicodeDecodeError beim Erstellen von Pandas Datenframe

Hier ist mein Code:

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) 

Dieser Code macht die CSV-Datei und es funktioniert gut. Dann versuche ich Pandas Datenrahmen zu machen:

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

Und da bekam ich die Fehlermeldung: "UnicodeDecodeError: 'utf-8' Codec kann nicht Byte dekodieren 0xF6 in Position 22: ungültigen Start-Byte".

Was sollte ich versuchen zu kodieren/decodieren, damit der Datenrahmen funktionieren würde?

Antwort

1

Haben Sie versucht:

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

Es funktioniert jetzt! Vielen Dank :) Es ist lustig, wie wenig Detail beeinflussen, um zu resultieren. –

+0

Einfach aber effektiv :) – zipa

Verwandte Themen