簡體   English   中英

使用openpyxl按行號讀取和輸出特定單元格

[英]Read and output specific cells in a column by row number using openpyxl

發布的代碼是從研究具有類似項目的其他來源編譯而來的。

以下代碼給出了單元格值的行號-在本例中為我在D列中查找的“資產”。

我想知道是否可以使用rownum來讀取該行號中的特定單元格? -即EQ列中的單元格值

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

始終使用ws.iter_rows()ws.iter_cols()而不是構造自己的范圍。 對於即席訪問,您還可以使用ws[E]ws[E:Q]ws[4]ws[4:6]讓你永遠需要創建Excel的風格坐標。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM