为什么 Pandas df.head() 显示与 to_csv 导出不同

Why does Pandas df.head() show differently to to_csv export

我正在尝试使用 pandas 和一些简单的代码从几页中抓取数据。

import pandas as pd
import requests
import numpy as np

dfs = []

http = "https://www.milieudatabase.nl/viewNMD/view_materiaal_new.php?numCode="
for r in range(293,296):
    url = f'{http}{r:02d}'
   
    r = requests.get(url)
    df_list = pd.read_html(r.text) # this parses all the tables in webpages to a list
   
    dfs.append(df_list)
   
    
    NMD = pd.concat([pd.DataFrame(dfs)])
                    
print(NMD)

NMD.to_csv('NMD50.csv', index=False)
    
df.head()

当我使用 df.head() 时,数据框以我想要的方式显示。但是,在我尝试将其发送到 csv 的地方,它会以 3 行而不是多行格式显示所有数据。我认为这是 df_list 函数的问题,

有人能帮忙吗?

你有几个错误。 首先让我展示一下工作代码:

dfs = []

http = "https://www.milieudatabase.nl/viewNMD/view_materiaal_new.php?numCode="
for r in range(293,296):
    url = f'{http}{r:02d}'

    r = requests.get(url)
    df_list = pd.read_html(r.text) 

    dfs.append(df_list[0])
   

NMD = pd.concat(dfs)
  • 您正在将列表添加到列表。但实际上,df_list 只有 1 个元素。
  • 缩进错误。您在 for 循环的每一步都创建了 NMD。