发布的代码是通过研究具有类似项目的其他来源编制的。
以下代码给出了单元格值的行号 - 在本例中为“资产”,我在D列中查找。
我想知道是否可以使用rownum
来读取该行号中的特定单元格? - 即列E
和Q
print("loading database..")
from openpyxl import load_workbook
wb = load_workbook(filename = 'itimsdb.xlsx')
ws = wb['Sheet1']
sheet_ranges = wb['Sheet1']
userInput = input("Scan asset now:")
strValue=userInput
for row in range(ws.max_row):
for column in "D":
cell_name = "{}{}".format(column, row+1)
value= str(ws[cell_name].value)
if value==strValue:
rownum = row
# to verify row number
print(rownum+1)
我选择了.CSV
db。现在我必须弄清楚如何循环它并继续扫描并写出不同资产的新行。
import csv
userInput = input("Scan asset now:")
strValue=userInput
with open('mydb.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
for field in row:
if field == strValue:
with open('test.csv', "w") as csv_file:
writer = csv.writer(csv_file, delimiter=',')
for row in reader:
writer.writerow(row)
print(row)
break
答案 0 :(得分:0)
始终使用ws.iter_rows()
或ws.iter_cols()
而不是构建自己的范围。对于即席访问,您还可以使用ws[E]
和ws[E:Q]
或ws[4]
和ws[4:6]
,这样永远不会需要创建Excel样式的坐标。