Как написать только 1 CSV-файл, а не несколько с Python - PullRequest
0 голосов
/ 31 мая 2018

У меня возникла проблема с поиском документации при записи в один и тот же файл в течение нескольких дней (извините, что не использовал правильное слово).Прямо сейчас он открывается и пишет в 1 CSV-файл в день (что в настоящее время составляет около 60 отдельных файлов за 1 день).Вместо этого я хотел бы, чтобы все 60 дней итерации сохранялись в 1 файле.Я думал, что «а» означает добавление, что означает запись в тот же файл, но это не совсем точно, что я нахожу.Я также прокомментировал outfile.close в конце, думая, что именно поэтому.Конечная цель - сохранять каждый день в 1 файле только с одним заголовком.

СЦЕНАРИЙ:

import csv
import requests
import datetime
from pprint import pprint
import pendulum

start = pendulum.datetime(2018, 3, 29)
end = pendulum.today()
period = pendulum.period(start, end)

for dt in period.range('days'):
    the_date = dt.format('YYYYMMDD')

    outfile = open('Test_between_dates' + str(the_date) + '.csv',"a",newline='')
    writer = csv.writer(outfile)
    writer.writerow(["time","status",])

    req2 = requests.get('https://api-prod.sprtactn.co/web/v1/scoreboard/mlb?bookIds=21,1,55&date=' + str(the_date) + '') #' + str(the_date) + '
    odd = req2.json()['games']

    for info in odd[0:]:
        time = info['start_time']
        status = info['status']


        print(time, status)

        writer.writerow([time, status])

##    outfile.close()

1 Ответ

0 голосов
/ 31 мая 2018

outfile = open('Test_between_dates' + str(the_date) + '.csv',"a",newline='')

outfile определяется как the_date и, следовательно, отличается каждый день.

...