Создание уникальных томов CSV с именем для каждой итерации цикла для моих

голоса
0

Использование Python для выполнения ряда запросов SQL, и хотел бы выход каждой итерации моего запроса, чтобы быть экспортированы в отдельный файл CSV.

Например:

clients = ['Ellen','Jose','Tina']

for client in clients:
    print(client)
    with open('/sales.csv', 'wt') as outfile:
        dw=csv.writer(outfile)
        dw.writerow(['index', 'client','product','sales'])
    query = 
    SELECT '{}' as client, 
       product,
       COUNT(1) AS sales
  FROM datasource
  GROUP BY 1, 2
  ORDER BY 3 DESC 
  LIMIT 100.format(market,market)
    with open('sales.csv'.format(client,client), 'w') as output:
      output.write(client)

Я хочу, чтобы имя файла, скажем sales_ellen.csv, sales_jose.csv - Я знаю, что это не делает его (это добавление каждого из них в файле sales.csv). Спасибо

Задан 07/11/2018 в 20:02
источник пользователем
На других языках...                            


2 ответов

голоса
5

Вы не предоставляете какое - либо место , clientчтобы использовать в вызове .format().

fname = 'sales_{}.csv'.format(client)
with open(fname, 'w') as output:
    ...

Вы можете прочитать о форматировании строк в Python здесь .

Ответил 07/11/2018 в 20:05
источник пользователем

голоса
0

Просто измените openзаявление форматировать от имени клиента:

with open('/sales_%s.csv'%client, 'wt') as outfile:
Ответил 07/11/2018 в 20:05
источник пользователем

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more