【发布时间】:2017-03-17 12:16:40
【问题描述】:
我正在尝试使用我的 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 文件,并且工作正常。然后我尝试制作熊猫数据框:
df=pandas.read_csv("cs_data1.csv")
df
我得到了错误:“UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf6 in position 22: invalid start byte”。
我应该尝试编码/解码哪些数据帧才能正常工作?
【问题讨论】:
标签: python csv dataframe decode encode