Как ввести 1 строку данных в xlsx? - PullRequest
1 голос
/ 09 апреля 2019

Я пытаюсь создать программу, которая принимает данные от пользователя (меня) для создания каталога товаров, которые клиент может захотеть заказать. Пока все было хорошо. Но у меня, кажется, небольшая проблема. Вместо заполнения 1 строки данных на элемент ввода, он заполняет 3 строки.

Я уже пытался удалить

ws.write(row, col + 1, title)
ws.write(row, col + 2, cost, money)

Но он только записывает вход ISBN в файл Excel.

#data headers
ws.write('A2', 'ISBN', bold)
ws.write('B2', 'Title', bold)
ws.write('C2', 'Cost', bold)

#data to input into cells
isbn = input('ISBN: ')
title = input('Title: ')
cost = input('Cost: ')


#starting rows and columns
row = 2
col = 0

#write it out row by row
for details in (isbn, title, cost):
    ws.write(row, col, isbn)
    ws.write(row, col + 1, title)
    ws.write(row, col + 2, cost, money)
    row += 1

#total
ws.write(row, 1, 'Total', bold)
ws.write(row, 2, '=SUM(C:C) ')

wb.close()

ОЖИДАЕМЫЙ: Excel вводит 1 строку данных на элемент

АКТУАЛЬНЫЕ РЕЗУЛЬТАТЫ: Excel вводит 3 строки данных на элемент

1 Ответ

0 голосов
/ 09 апреля 2019

Проблема в вашем for цикле. Вы зацикливаетесь на каждом из трех элементов в вашем списке. Вы можете удалить цикл, если хотите записать только 3 отдельных элемента один раз.

Или, если вы хотите продолжить ввод и запись, переместив input() в цикл (но убедитесь, что вы добавили какой-либо способ выхода из цикла).

...