Hướng dẫn python download multiple csv file from url - python tải xuống nhiều tệp csv từ url

Tôi là người mới bắt đầu lập trình [chuyên nghiệp tài chính] và tôi đang tìm cách cắt giảm công việc thủ công bằng Python. Tôi muốn tải xuống nhiều CSV [CSV biến động hàng ngày của một năm qua] từ //www.nseindia.com/products/content/equales/equates/archieve_eq.htm

Cho đến nay, tôi có thể tải xuống một tệp cùng một lúc. Nhưng tôi không thể đăng ký Loop để tải xuống CSVS một năm qua. Ngoài ra, nó sẽ giúp nếu tôi có thể bỏ qua tải xuống CSV từ Thứ Bảy và Chủ nhật.

Tôi đã tạo một tệp CSV trong đó các liên kết đến tất cả các tệp CSV được yêu cầu được đề cập. Sau đó, cố gắng nhập tệp CSV đó và chạy một hoạt động vòng lặp trên đó. Nhưng tôi không biết đủ chương trình để làm điều đó.

import requests
import shutil

r = requests.get['//nseindia.com/archives/nsccl/volt/CMVOLT_01072018.CSV', stream=True]
if r.status_code == 200:
    with open["01072018.csv", 'wb'] as f:
        r.raw.decode_content = True
        shutil.copyfileobj[r.raw, f]

Kết quả mong muốn: Tải xuống các tệp CSV dựa trên đầu vào phạm vi ngày. Kết quả thực tế: Tải xuống 1 tệp CSV tại một thời điểm.
Actual results: Downloading 1 CSV file at a time.

Đã hỏi ngày 31 tháng 7 năm 2019 lúc 16:08Jul 31, 2019 at 16:08

2

filenames=['//nseindia.com/archives/nsccl/volt/CMVOLT_01072018.CSV',
'//nseindia.com/archives/nsccl/volt/CMVOLT_01082018.CSV',
'//nseindia.com/archives/nsccl/volt/CMVOLT_01092018.CSV',
]

for x in filenames:
    r=requests.get[x, stream=True]
    if r.status_code == 200:
        with open[x.split['_'][-1], 'wb'] as f:
            r.raw.decode_content = True
            shutil.copyfileobj[r.raw, f]

Đã trả lời ngày 31 tháng 7 năm 2019 lúc 16:16Jul 31, 2019 at 16:16

Được rồi mà không cần thêm một thư viện khác, sau đây là mã sẽ hoạt động mặc dù nó không hoạt động trên máy của tôi có một số hạn chế.

import datetime as timer
import requests
import shutil


def download_data[date]:
    url='//nseindia.com/archives/nsccl/volt/CMVOLT_'+date+'.CSV'
    csv_filename=date+'.csv'
    try:
        print['Calling url:- ' + url]
        r = requests.get[url, stream=True,verify=False]
        if r.status_code == 200:
            with open[csv_filename, 'wb'] as f:
                r.raw.decode_content = True
                shutil.copyfileobj[r.raw, f]
        r.close[]
    except Exception as e:
        print['for Date '+ date +' Exception happened, most probably a weekend, EXCEPTION Message is ' + str[e]]



def code_runner[]:
    i=0
    now = timer.datetime.now[]
    day = now.day
    month = now.month
    year = now.year
    while i

Bài Viết Liên Quan

Chủ Đề