gpt4 book ai didi

Python:如何从网络导入Excel文件?

转载 作者:行者123 更新时间:2023-12-02 19:00:53 24 4
gpt4 key购买 nike

我需要从链接导入 Excel 文件。我尝试这样做

filedlurl = 'https://www.nordpoolgroup.com/48d3ac/globalassets/marketdata-excel-files/exchange-ee-connections_2021_daily.xls'

df = pd.read_excel(filedlurl, skiprows=2)

但错误是XLRDError:不支持的格式,或损坏的文件:预期的 BOF 记录;找到b'Exchange'

然后我发现了以下方法 using Pandas to read in excel file from URL - XLRDError

df = pd.read_csv('https://www.nordpoolgroup.com/48d3ac/globalassets/marketdata-excel-files/exchange-ee-connections_2021_daily.xls',
#sep='\t',
#parse_dates=[0],
names=['a','b','c','d','e','f'],
skiprows=2)
df

这里还有一个奇怪的输出。从网上手动下载时如何获得下表?

最佳答案

您的文件不是 CSV 或 Excel 文件。实际内容是一个HTML表格(如下)。

Exchange in {0}, Import(+)/Export(-)
<html>
<body>
<table>
<thead>
<tr>
<td colspan="5">Exchange EE connections in MWh, MW</td>
</tr><tr>
<td colspan="5">Data was last updated 06-01-2021</td>
</tr><tr>
<td></td><td style="text-align:center;">EE net exchange</td><td style="text-align:center;">EE - FI</td><td style="text-align:center;">EE - LV</td><td style="text-align:center;">EE - RU</td>
</tr>
</thead><tbody>
<tr>
<td style="text-align:left;">01-01-2021</td><td style="text-align:right;">14575</td><td style="text-align:right;">20969,0</td><td style="text-align:right;">-4884,0</td><td style="text-align:right;">-1510,0</td>
</tr><tr>
<td style="text-align:left;">02-01-2021</td><td style="text-align:right;">12073</td><td style="text-align:right;">22479,0</td><td style="text-align:right;">-8001,0</td><td style="text-align:right;">-2405,0</td>
</tr><tr>
<td style="text-align:left;">03-01-2021</td><td style="text-align:right;">14321</td><td style="text-align:right;">22540,0</td><td style="text-align:right;">-8259,0</td><td style="text-align:right;">40,0</td>
</tr><tr>
<td style="text-align:left;">04-01-2021</td><td style="text-align:right;">14662</td><td style="text-align:right;">17653,0</td><td style="text-align:right;">-5829,0</td><td style="text-align:right;">2838,0</td>
</tr><tr>
<td style="text-align:left;">05-01-2021</td><td style="text-align:right;">13570</td><td style="text-align:right;">13779,0</td><td style="text-align:right;">-5314,0</td><td style="text-align:right;">5105,0</td>
</tr><tr>
<td style="text-align:left;">06-01-2021</td><td style="text-align:right;">6243</td><td style="text-align:right;"></td><td style="text-align:right;"></td><td style="text-align:right;"></td>
</tr>
</tbody>
</table>
</body>
</html>

像这样使用pd.read_html:

import pandas as pd

url = 'https://www.nordpoolgroup.com/48d3ac/globalassets/marketdata-excel-files/exchange-ee-connections_2021_daily.xls'
dfs = pd.read_html(url)
df = dfs[0]

您可以在 Excel 中打开文件是因为 Excel 会迭代可能的格式,直到找到有效的格式。例如,您可以创建一个制表符分隔值(应具有扩展名 .tsv)文件,附加 .xls,虽然它不是真正可怕的电子表格格式 (XLS),但 Excel 仍会正常打开它。它还对 HTML 数据执行此操作。

关于Python:如何从网络导入Excel文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65598488/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com