我正在尝试使用我的CSV文件制作pandas数据帧。
这是我的代码:
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文件,并且工作正常。然后我尝试制作pandas数据帧:
df=pandas.read_csv("cs_data1.csv")
df
我得到了错误:“UnicodeDecodeError:'utf-8'编解码器无法解码位置22中的字节0xf6:无效的起始字节”。
我应该尝试编码/解码,以便数据框可以工作吗?
答案 0 :(得分:1)
你有没有尝试过:
df = pandas.read_csv("cs_data1.csv", encoding='utf-8')