Gibt es eine Möglichkeit, das unten in einer prägnanter Weise zu erreichen? Wenn ich viele Werte habe, wird mein Skript sehr unlesbar.Oder Bedingung in Liste Verständnis
aktuellen Code
import xlrd
filename = r'H:\Book1.xls'
wb = xlrd.open_workbook(filename)
sh1 = wb.sheet_by_index(0)
data = [sh1.row_values(row) for row in range(sh1.nrows) if 1 in sh1.row_values(row) or 9 in sh1.row_values(row) ]
print(data)
-Code Ergebnis
[[1.0, 2.0, 3.0, '', 4.0, '', 6.0], ['', '', '', '', 9.0, '', '']]
Wunsch Syntax
data = [sh1.row_values(row) for row in range(sh1.nrows) if 1,9 in sh1.row_values(row)]
Auch wou Ist es möglich, eine Liste oder ein Objekt, das 1, 9 usw. enthält, zu übergeben?
'if {1, 9} & Set (sh1.row_values (Zeile))' vielleicht? –
Sie können 'any' verwenden:' falls vorhanden (i in sh1.row_values (row) für i in (1, 9)) ' – njzk2
danke AnthonySottile und njzk2 – PyNoob