2016-12-17 3 views
1

Я новичок в Python, и я знаю, что этот вопрос довольно простой, но я не могу найти решение из Googling.Проблема с использованием переменной в Python

Я пишу простой скрипт в Python, и я использую BeautifulSoup для синтаксического анализа. Я просто застрял в использовании переменной для установки имени файла для своих функций записи CSV. Я имею переменную под названием «категория», как я могу установить ее как имя файла CSV?

category = "student" 

with open('%category.csv', 'a') as csv_file: 
    writer = csv.writer(csv_file) 
    writer.writerow([cname, caddress, ccontact]) 

ответ

1

Использование format() так:

with open('{}.csv'.format(category), 'a') as csv_file: 

Выход:

>>> category = 'my_file' 
>>> '{}.csv'.format(category) 
'my_file.csv' 
+0

Aha! Спасибо :) –

1

Попробуйте это:

with open(category + '.csv', 'a') as csv_file: 

Вы не подставлять переменную, как это. Прочтите основную книгу.

1

Попробуйте вместо этого:

with open('%s.csv' % category, 'a') as csv_file: 

См this informative article больше на строки форматирования в Python.

+0

Отлично, спасибо, что нашли время ответить :) –

1

Эта задача может быть достигнута многими способами и некоторые из которых перечислены ниже:

  1. Конкатенация строк.

    category = "student" 
    with open(category + '.csv', 'a') as csv_file: 
    
  2. Строка форматирования

    with open('%s.csv' % category, 'a') as csv_file: 
    
  3. Использование format() функции

    with open('{}.csv'.format(category), 'a') as csv_file: 
    

Я надеюсь, что это все будет работать нормально для вас.

Лучший Один: -

category = "student.csv" 
with open(category, 'a') as csv_file: 

Последний является простейшим, чтобы изменить имя файла просто изменить значение переменной.

Смежные вопросы