我是python的新手,我正尝试从(https://www.transfermarkt.co.uk)网站抓取足球传输。我写了一堆代码来清理被抓取的数据,现在我尝试使用DataFrame导出到.csv文件。当我从字典中导出数据时,某些字符(如tildeñ)会自动大写,并且在它们前面似乎是完全随机的特殊字符(如'¡'或'@')。

我已经从pandas导入了DataFrame。我正在使用Windows excel打开.csv文件。当通过python控制台打印时,所有字母均显示为正常(未大写且没有特殊字符)。我所有的代码都有效,问题出在将其导出到.csv时。

df = pd.DataFrame(dict_players)

file_path = dirname + '/' + league + '_' + date + ".csv"

export_csv = df.to_csv (file_path, index = None, header=True)

这是我复制的.csv文件中的示例:

"Michaël"

分析解答

这与它使用的编码有关。默认值为utf-8,它具有字节结构。 utf-8中未包括的一些值是带小写字母的拉丁文小写字母i,right-pointing双角引号,反问号。因此,您可以尝试将编码更改为latin-1。

export_csv = df.to_csv(file_path, index = None, header=True,encoding='latin-1')