#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’.