我想在 Jupyter Notebooks 中加载带有熊猫的 CSV 文件,其中包含 ä、ö、ü、ß 等字符。
当我用 Notepad++ 打开 csv 文件时,这是一个导致 ANSI 格式问题的示例行:
Empf„nger;Empf„ngerStadt;Empf„ngerStraáe;Empf„ngerHausnr.;Empf„ngerPLZ;Empf„ngerLand
Run Code Online (Sandbox Code Playgroud)
Empf?nger 的正确 UTF-8 结果应该是:Empfänger
现在,当我使用以下代码在 Windows 上的 Python 3.6 pandas 中加载 CSV 数据时:
df_a = pd.read_csv('file.csv',sep=';',encoding='utf-8')
Run Code Online (Sandbox Code Playgroud)
我收到错误消息:
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xe1 in position xy: invalid continuation byte
Run Code Online (Sandbox Code Playgroud)
位置 'xy' 是导致错误信息的字符出现的位置
当我使用 ansi 格式加载我的 csv 文件时,它可以工作,但显示的元音不正确。
示例代码:
df_a = pd.read_csv('afile.csv',sep=';',encoding='ANSI')
Run Code Online (Sandbox Code Playgroud)
Empfänger 表示为:Empf?nger
注意:我尝试在 Notepad++ 中将文件转换为 UTF-8,然后使用 pandas 模块加载它,但我仍然遇到相同的错误。
我在网上搜索了一个解决方案,但提供的解决方案,例如“将记事本++中的格式更改为 utf-8”或“使用 encoding='UTF-8'”或“latin1”,这给了我与 ANSI 格式相同的结果或
import chardet
with open('afile.csv', 'rb') as f:
result = …Run Code Online (Sandbox Code Playgroud) 我目前使用 Jupyter Notebooks,我想通过 HTML 呈现 SVG,而不将它们保存为本地 SVG 并在之后显示它们。
我使用此代码:
%matplotlib inline
from IPython.display import SVG, HTML
html_pygal = """
<!DOCTYPE html>
<html>
<head>
<script type="text/javascript" src="http://kozea.github.com/pygal.js/javascripts/svg.jquery.js"></script>
<script type="text/javascript" src="http://kozea.github.com/pygal.js/javascripts/pygal-tooltips.js"></script>
<!-- ... -->
</head>
<body>
<figure>
{pygal_render}
</figure>
</body>
</html>
"""
import pygal
line_chart = pygal.Line()
line_chart.title = 'Browser usage evolution (in %)'
line_chart.x_labels = map(str, range(2002, 2013))
line_chart.add('Firefox', [None, None, 0, 16.6, 25, 31, 36.4, 45.5, 46.3, 42.8, 37.1])
line_chart.add('Chrome', [None, None, None, None, None, None, 0, 3.9, 10.8, 23.8, …Run Code Online (Sandbox Code Playgroud) 我尝试将ipyleaflet数据可视化导出为PNG或任何其他文件格式,但是我找不到有效的方法。例如,在大叶中有map.save(path)。我的研究中缺少ipyleaflet中的图书馆或方法,可以帮助我实现自己的目标吗?
这是一些生成地图的示例代码
from ipyleaflet import *
center = [34.6252978589571, -77.34580993652344]
zoom = 10
m = Map(default_tiles=TileLayer(opacity=1.0), center=center, zoom=zoom)
m
Run Code Online (Sandbox Code Playgroud)
我想将此地图导出为图像文件,而无需手动截图。
我找到了两个可以导出javascript传单地图的资源:https : //github.com/aratcliffe/Leaflet.print和https://github.com/mapbox/leaflet-image
不幸的是,我无法在python中使用它们。