2017-03-17 76 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 

在那里我得到了错误:“UnicodeDecodeError错误:在第22位‘UTF-8’编解码器不能解码字节0xf6:无效的起始字节”。

什么我应该尝试编码/解码,以便数据框可以工作?

回答

1

你尝试:

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

它现在!非常感谢:)有趣的是,很少有细节会影响结果。 –

+0

简单而有效:) – zipa