Python 向 excel 文档添加过多行
Python adding too much rows to excel document
我正在尝试制作将狼蛛物种添加到我的 excel 文档中的应用程序。我正在使用 openpyxl 进行此操作,当我将第二个名称添加到 B 列时,它会将该名称添加 2 次而不是 1 次。这是代码
import openpyxl
import random
import time
wb = openpyxl.load_workbook("sample.xlsx")
ws = wb.active
def InsertGenus (genus):
for cellA in ws["A"]:
if cellA.value is None:
break
else:
print("Empty")
ws["A"+str(cellA.row + 1)] = genus
def InsertSpecies (species):
for cellB in ws["B"]:
if cellB.value is None:
break
else:
print("Empty")
ws["B"+str(cellB.row + 1)] = species
genus = input("Enter tarantula genus: ")
InsertGenus(genus)
species = input("Enter tarantula species: ")
InsertSpecies(species)
wb.save("sample.xlsx")
input("Press any key to exit...")
我将您的代码稍微重写为一个函数,并使用 max_row+2 来覆盖带有空单元格的基本情况。希望对您有所帮助。
import openpyxl
import random
import time
wb = openpyxl.load_workbook("sample.xlsx")
ws = wb.active
def InsertTarantula (genus, species):
for row in range(1, ws.max_row+2):
if ws.cell(row=row, column=1).value == None and ws.cell(row=row, column=2).value == None:
#print(ws.cell(row=row, column=1).coordinate, ws.cell(row=row, column=2).coordinate)
ws.cell(row=row, column=1).value = genus
ws.cell(row=row, column=2).value = species
break
genus = input("Enter tarantula genus: ")
species = input("Enter tarantula species: ")
InsertTarantula(genus, species)
wb.save("sample.xlsx")
input("Press any key to exit...")
我正在尝试制作将狼蛛物种添加到我的 excel 文档中的应用程序。我正在使用 openpyxl 进行此操作,当我将第二个名称添加到 B 列时,它会将该名称添加 2 次而不是 1 次。这是代码
import openpyxl
import random
import time
wb = openpyxl.load_workbook("sample.xlsx")
ws = wb.active
def InsertGenus (genus):
for cellA in ws["A"]:
if cellA.value is None:
break
else:
print("Empty")
ws["A"+str(cellA.row + 1)] = genus
def InsertSpecies (species):
for cellB in ws["B"]:
if cellB.value is None:
break
else:
print("Empty")
ws["B"+str(cellB.row + 1)] = species
genus = input("Enter tarantula genus: ")
InsertGenus(genus)
species = input("Enter tarantula species: ")
InsertSpecies(species)
wb.save("sample.xlsx")
input("Press any key to exit...")
我将您的代码稍微重写为一个函数,并使用 max_row+2 来覆盖带有空单元格的基本情况。希望对您有所帮助。
import openpyxl
import random
import time
wb = openpyxl.load_workbook("sample.xlsx")
ws = wb.active
def InsertTarantula (genus, species):
for row in range(1, ws.max_row+2):
if ws.cell(row=row, column=1).value == None and ws.cell(row=row, column=2).value == None:
#print(ws.cell(row=row, column=1).coordinate, ws.cell(row=row, column=2).coordinate)
ws.cell(row=row, column=1).value = genus
ws.cell(row=row, column=2).value = species
break
genus = input("Enter tarantula genus: ")
species = input("Enter tarantula species: ")
InsertTarantula(genus, species)
wb.save("sample.xlsx")
input("Press any key to exit...")