2016-08-03 5 views
1

Zum Beispiel möchte ich in der Lage sein, in mein Programm über Benutzereingabe die Daten einzugeben und dann die dafür relevante Zeile auszudrucken Zelle. Im Idealfall, wenn der 08.08.2016 in das Programm eingegeben wurde, wird er durch die Spalte "A" laufen und dann das relevante Datum finden. Wenn das Datum gefunden wird, wird das Datum und dann die relevanten Daten in dieser Zeile ausgedruckt. Dies ist, was ich derzeit habe. Jede Art von Vorschlägen wird großartig sein, wenn eine direkte Antwort nicht gefunden werden kann.Mit openpyxl nach einer Zelle in einer Spalte suchen und dann die Zeile für diese relevante Zelle ausdrucken

EDIT: Ich habe X bis heute geändert.

from openpyxl import * 

wb = load_workbook('C:/Users/W-_-C/PycharmProjects/IT SAT_data doc.xlsx') 
ws = wb.get_sheet_by_name('101') 
date = input("Prompt: ") 
for row in ws.iter_rows('A{}:A{}'.format(ws.min_row, ws.max_row)): 
    for cell in row: 
     if ws.cell(row=row, column=0).value == date: 
      print(ws.cell.value) 
+0

Sie drucken mögen nur in Spalte A für die Eingabe suchen? –

+0

Ja, ziemlich. – user6597365

+0

Mögliches Duplikat von [openpyxf Zelle oder Zeile nach Wert finden] (http://stackoverflow.com/questions/30903876/openpyxl-find-cell-or-row-by-value) – e4c5

Antwort

1

Wenn Sie nur in Spalte A für die Eingabe aussehen wollen würde ich so etwas tun:

for i in range(1,ws.max_row): 
    if ws.cell(row=row, column=0).value == date: 
     for j in range(i, ws.max_column): 
      print (ws.cell(row=i, column=j).value) 

Vorausgesetzt, dass Sie jede Spalte in der Zeile passend zu dem Eingang

+0

Nicht genau, das Datum wird nur in sein Spalte 'A', aber es wird eine Reihe von Daten in dieser Zeile geben, die nicht das Datum ist. Daher möchte ich die gesamte Zeile über die Suche nach dem Datum in der ersten Spalte drucken. – user6597365

+0

Zum Beispiel: A1 = 12.06.2016, A2 = 13.06.2016, B1 = 5, B2 = 6, C1 = 7, C2 = 9. Ich möchte den 12.06.2016 suchen und die Werte ausgeben in Zeile 1. – user6597365

+0

Ich habe eine alternative Methode herausgefunden, wo ich eine zweistufige Suchfunktion erstellen, wo das Programm Zellen und ihre Werte in eine TXT-Datei schreibt, Benutzer sucht dann das Datum in einer TXT-Datei und erhält Datum und Zeilennummer, Der Benutzer sucht dann nach der Zeilennummer und druckt die Zeile. – user6597365

Verwandte Themen