【问题标题】:How to convert url data to csv using python如何使用python将url数据转换为csv
【发布时间】:2022-01-06 13:34:58
【问题描述】:

我正在尝试从以下 url 下载数据并将其保存为 csv 数据,但我得到的输出是一个文本文件。谁能帮助我在这里做错了什么?另外,是否可以在同一个脚本中添加多个 url 并下载多个 csv 文件。

import csv

import pandas as pd
import requests
from datetime import datetime

CSV_URL = ('https://dsv-ops-toolkit.ihsmvals.com/ftp?config=fenics-bgc&file=IRSDATA_20211129_1700_Intra.csv&directory=%2FIRS%2FIntraday%2FDaily')

with requests.Session() as s:
    download = s.get(CSV_URL)

    decoded_content = download.content.decode('utf-8')

    cr = csv.reader(decoded_content.splitlines(), delimiter=',')
    date =datetime.now().strftime('%y%m%d')
    my_list = list(cr)
    df=pd.DataFrame(my_list)
    df.to_csv(f'RFR_{date}')

【问题讨论】:

  • 网址打不开。但您可能想尝试使用df.to_csv(f"RFR_{date}.csv"),即在文件名中指定“.csv”扩展名
  • 检查这个link这可以帮助你
  • 太棒了,它奏效了。能否请您也回答另一部分。如何在同一个脚本中再添加一个 url 并下载两个运行同一个脚本的 csv 文件
  • 因为两个 URL 代表不同的 FTP 设置
  • 我想我需要在这里编写 bash 脚本

标签: python json pandas dataframe python-requests


【解决方案1】:

您可以创建一个必要的 URL 列表,例如:

urls = ['http://url1.com','http://url2.com','http://url3.com']

遍历每个 url 的列表,您的请求将保持原样:

for each_url in urls:
    with requests.Session() as s:
        # your_code_here

希望您会发现这对您有所帮助。

【讨论】:

  • 感谢 Hemz,它有帮助
猜你喜欢
  • 2015-04-12
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2018-03-06
  • 1970-01-01
  • 2016-08-19
  • 2019-04-18
相关资源
最近更新 更多