【问题标题】:UnicodeDecodeError when making pandas dataframe制作熊猫数据框时出现UnicodeDecodeError
【发布时间】: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


    【解决方案1】:

    你试过了吗:

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

    【讨论】:

    • 现在可以使用了!非常感谢 :) 有趣的是,细节对结果的影响很小。
    • 简单而有效:)
    猜你喜欢
    • 2021-09-17
    • 1970-01-01
    • 1970-01-01
    • 2017-10-10
    • 2022-06-23
    • 1970-01-01
    • 2013-07-24
    • 2021-06-17
    • 2016-10-18
    相关资源
    最近更新 更多