ここでws.max_row
を使用できます。また、毎回新しいファイルを開く代わりに、以前に保存したファイルをロードするようにしてください。
import openpyxl
wb = openpyxl.load_workbook('sample.xlsx')
# grab the active worksheet
ws = wb.active
item = raw_input('Item: ')
sold = raw_input('Sold for: ')
percentage = raw_input('Percentage (in decimals): ')
date = raw_input('Date of Sale: ')
customer = raw_input('Customer: ')
# Data can be assigned directly to cells
input_row = ws.max_row + 1
ws['B{}'.format(input_row)] = item
ws['C{}'.format(input_row)] = sold
ws['D{}'.format(input_row)] = percentage
ws['E{}'.format(input_row)] = date
ws['F{}'.format(input_row)] = customer
wb.save("sample.xlsx")
また、ここでは、whileループを実装検討するかもしれない:
import openpyxl
enter_more = 'y'
while enter_more == 'y':
wb = openpyxl.load_workbook('sample.xlsx')
# grab the active worksheet
ws = wb.active
item = raw_input('Item: ')
sold = raw_input('Sold for: ')
percentage = raw_input('Percentage (in decimals): ')
date = raw_input('Date of Sale: ')
customer = raw_input('Customer: ')
# Data can be assigned directly to cells
input_row = ws.max_row + 1
ws['B{}'.format(input_row)] = item
ws['C{}'.format(input_row)] = sold
ws['D{}'.format(input_row)] = percentage
ws['E{}'.format(input_row)] = date
ws['F{}'.format(input_row)] = customer
wb.save("sample.xlsx")
enter_more = raw_input('Enter "y" to enter more data...').lower()
は編集:
@CharlieClarkはあなただけ.append()
を使用することができますコメントで言及したよう:
import openpyxl
wb = openpyxl.load_workbook('sample.xlsx')
# grab the active worksheet
ws = wb.active
item = raw_input('Item: ')
sold = raw_input('Sold for: ')
percentage = raw_input('Percentage (in decimals): ')
date = raw_input('Date of Sale: ')
customer = raw_input('Customer: ')
# Data can be assigned directly to cells
ws.append([None, item, sold, percentage, date customer])
wb.save("sample.xlsx")
これは、おかげで動作します!!!!! +1 –
助けてくれてありがとうございました! – bernie
問題ありません!ありがとうございました! –