Как я могу импортировать значения переменной в CSV-файл на python?

#python #csv #export-to-csv

#python #csv #экспорт в csv

Вопрос:

Мне нужно импортировать значения переменных sum и diff в мой файл test.csv, как я могу это сделать? Я оставляю свой код ниже:

 x=3
y=5
z=2
sum=x   y   5
diff= x-y-5

with open('test.csv', 'w', newline='') as f:
    thewriter.writerow(['sum', 'diff'])
  

Ответ №1:

Не используйте sum в качестве имени переменной в Python, поскольку это имя встроенной функции. Также кавычки определяют строку и не ссылаются на переменную.

 dif = 10
print('dif')
print(dif)
  

выводит:

 dif
10
  

ваш код будет выглядеть так

 import csv

x=3
y=5
z=2
sum_x_y=x   y   5
diff= x-y-5

with open('test.csv', 'w', newline='') as f:
    thewriter = csv.writer(f)
    thewriter.writerow(["sum_x_y", "diff"])
    thewriter.writerow([sum_x_y, diff])
  

Комментарии:

1. Возможно, что OP хотел, чтобы в файле csv была строка заголовка sum, diff с фактическими данными в качестве второй строки, и именно поэтому OP записывал литеральные строки. Это основано на моем предположении, что OP знает разницу между diff и 'diff' .

2. ах, да, это возможно, я обновил свой ответ в соответствии с этим

3. Конечно. нет причин, по которым столбец строки заголовка не может быть назван sum — в этом контексте нет конфликта имен.

4. да, но я думаю, что лучше просто не использовать его

Ответ №2:

Удалите кавычки в списке, например. ‘sum’ в sum. sum — это имя переменной, а ‘sum’ — это строковый объект. Добавляя кавычки, вы говорите, что хотите написать строку ‘sum’ и ‘diff’.