Ich verwende xlrd
, um auf xls-Dateien zu arbeiten. Meine xls Datei hat zwei Spalten und meine Anforderung ist sicherzustellen, dass beide Spalten die gleiche Anzahl von Zeilen haben. Ich habe von help()
gelernt, dass wir eine row_len()
haben, um nach der Länge einer Reihe zu suchen, die mit dem Index gegeben wird, aber keine für col_len
finden kann. Können Sie mit jedemPython: XLRD; Vergleichen Sie die Spaltenlänge
Hier helfen bitte meinen Code
from xlrd import open_workbook
spread_sheet=open_workbook("simple.xls")
sheet1=spread_sheet.sheet_by_index(0)
#validates the no of columns in the Spread sheet
if sheet1.ncols == 2:
for sheet1_rows in range(sheet1.nrows):
for sheet1_cols in range(sheet1.ncols):
value=sheet1.cell(sheet1_rows,sheet1_cols).value
source=sheet1.cell(sheet1_rows,0).value
destination=sheet1.cell(sheet1_rows,1).value
#ignores the Source and Destination Headers
if value not in ('Source','Destination'):
print "Source is : %s \nDestination is : %s\n" % (source,destination)
else:
print "XLS provided is not valid. Check the no of columns is 2"
Einige andere Optionen abgesehen von unten zu vergleichen bitte
>>> print len(sheet1.col_values(0))
8
>>> print len(sheet1.col_values(1))
8
Vielen Dank für Ihre Antwort @alecxe. Anstatt meinem Code mehr Zeilen hinzuzufügen, habe ich unten etwas herausgefunden. Sie berät diese
trainieren>>> print len(sheet1.col_values(0))
6
>>> print len(sheet1.col_values(1))
6
>>> sheet1.col_values(0)
[u'A', 1.0, 1.0, 1.0, 1.0, 2.0]
>>> sheet1.col_values(1)
[u'B', 2.0, 2.0, 2.0, 2.0, '']
>>> print len(filter(None,sheet1.col_values(1)))
5
>>>
Was ist falsch mit 'len (sheet1.col_values (0))'? –
Danke für Ihre Antwort @MikeMuller. Da ich ein Neuling für Python bin, versuche ich alle BIFs zu lernen, was den Aufwand spart. Nur neugierig zu wissen, ob in Python andere als 'len (sheet1.col_values (0))' existiert. – Sathy
Was genau meinen Sie mit der Spaltenlänge? Es kann überall leere Zellen geben. –