我做了一个程序,以可视化的HTML报告。这并不复杂,我读CSV文件添加了一些样式(文本和表格)一些文本,并读取DF作为一个表。这是代码看起来像:
df = pd.read_csv("Średnie wyniki oceny użytkowości rozpłodowej loch dla rasy puławskiej.csv",sep=";")
html = f"""
<HTML lang="pl">
<head>
<title>some title</title>
</head>
<style type="text/css">
some style
</style>
<body>
some text
{df.to_html(index=False)}
some text
</body>
</html>
"""
with open('report','w',)as f:
f.write(html)
问题是当我尝试pd.read_csv
.当我尝试读取CSV我得到这个错误:UnicodeDecodeError: 'utf-8' codec can't decode byte 0xf3 in position 9: invalid continuation byte
我尝试将read_csv
中的编码更改为:ISO 8859-2
但这给予我一个错误行f.写(HTML)错误看起来像这样:UnicodeEncodeError: 'charmap' codec can't encode character '\x8c' in position 1694: character maps to <undefined>
我接下来的两个步骤是更改'with open()'中的编码,首先我将其更改为'utf-8'。这起作用,但我的文本出现故障,后来我将编码更改为'ISO 8859-2',但在这种情况下,表中的文本出现故障。请帮助我出主意了。
1条答案
按热度按时间inb24sb21#
首先,让我们确保您使用正确的编码阅读CSV文件。您可以尝试使用'utf-8'和'ISO-8859- 2'。在读取CSV文件时使用正确的编码至关重要;否则,您将以乱码文本结束。
现在,在编写HTML报告时使用与CSV文件相同的编码:
这段代码使用指定的编码(在本例中为“utf-8”)读取CSV文件,并使用相同的编码编写HTML报告。通过在整个代码中使用相同的编码,您应该可以避免遇到的错误。
如果仍然有问题,可以尝试将csv_encoding变量更改为“ISO-8859-2”或其他适合CSV数据的编码。