【问题标题】:How to read csv file from aspx in Python如何在 Python 中从 aspx 读取 csv 文件
【发布时间】:2021-09-20 11:34:00
【问题描述】:

尝试从 .aspx 链接读取 .csv 文件,我最初尝试了此代码。

import requests

url = "https://extra-ibre.fgv.br/IBRE/sitefgvdados/VisualizaConsultaFrame.aspx"

file_name = 'xgdvConsulta.csv'
u = requests.get(url)

with open(file_name, 'wb') as f:
  f.write(u.content)
  f.close()

由于我实际上无法获取 csv 文件,因此我尝试了此代码。

from urllib.request import urlretrieve as retrieve

url = 'https://extra-ibre.fgv.br/IBRE/sitefgvdados/VisualizaConsultaFrame.aspx'
file_name = 'xgvxConsulta.xls'
retrieve(url, file_name)

问题是我是 Python 新手,每次下载 .csv 文件时,结果就像打印出来的一样。 Printscreen with a csv downloaded

我不知道现在要做什么才能得到这样的表格: The result that I want

【问题讨论】:

    标签: python asp.net csv screen-scraping


    【解决方案1】:

    由于您似乎已准备好 .csv,因此最好的选择是使用 pandas 库:https://pandas.pydata.org/。这个库不仅允许您读取(和创建)CSV 文件,它还允许您在将数据加载到脚本中后使用 DataFrames 可视化和播放数据。

    您的代码如下所示:

    import pandas as pd 
    
    df = pd.read_cvs('your/file/path/' + 'xgdvConsulta.csv')
    print(df) 
    

    这应该打印通过读取您的 CSV 文件创建的数据框,您应该在其中看到所有相应的数据

    将此与您的代码结合起来,您可以尝试:

    from urllib.request import urlretrieve as retrieve
    import pandas as pd
    
    url = 'https://extra-ibre.fgv.br/IBRE/sitefgvdados/VisualizaConsultaFrame.aspx'
    file_name = 'xgvxConsulta.csv'
    retrieve(url, file_name)
    
    df = pd.read_csv(filename) # you will likely need to add the file path here
    print(df) 
    

    这应该没问题!

    【讨论】:

    • 感谢 Stan Bergey 的回答!不幸的是,没有奏效。下载的 csv 不是 .csv 文件。我不知道如何阅读这种类型的文件(我附加到第一条消息的第一个打印屏幕)
    • 我认为您应该尝试使用 pandas 打开任何 csv,一旦完成,您就可以从那里开始工作。不要忘记包含整个文件路径(在 Windows 上,它应该如下所示: df = pd.read_csv('C:\Users\YourName\Downloads\xgvxConsulta.csv') 然后,不要忘记调用 print(df ) 查看您的结果!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-08
    • 1970-01-01
    • 1970-01-01
    • 2012-11-05
    • 1970-01-01
    • 2019-05-27
    • 2015-07-21
    相关资源
    最近更新 更多