Ich versuche, alle Variablen eines bestimmten Werts in einer bestimmten Spalte aus einem Excel-Dokument zu berechnen. Ich möchte in der Lage sein, über die Spalte zu iterieren und die Summe jeder Instanz zu berechnen ... z. Wie viele Schüler erhielten eine Note "A".Wie berechnet man Variablen aus Arbeitsblattspalten mit xlrd?
Hier ist, was ich bisher ...
test.xls:
Name, Klasse, Grad
James, Mathe, A
Judy, Mathe, A
Bill, Sozialwissenschaften, B
Denice, Geschichte, C
Sarah, Geschichte, B
Hier ist mein Python-Skript
import xlrd
from collections import Counter
sh = xlrd.open_workbook('test.xls', on_demand = True).sheet_by_index(0) # Open workbook and sheet
for rownum in range(sh.nrows):
grades = str(sh.cell(rownum, 2).value) # Grab all variables in column 2.
print Counter(grades.split('\n')) # Count grades
Erwartete Ausgabe:
A = 2
B = 2
C = 1
Actual output:
Zähler ({ 'Grade': 1})
Zähler ({ 'A': 1})
Zähler ({'A': 1})
Zähler ({'B': 1})
Zähler ({ 'C': 1})
Zähler ({ 'B': 1})
Da jede Sorte in einer anderen Liste zeigt I nicht in der Lage gewesen, zu fusionieren/Verketten Sie Listen, um eine Summe zu erhalten. Es ist auch nicht in der gewünschten Ausgabeformatierung.
Das ist fast perfekt, danke! Auch um die Frage zu vervollständigen, war ich in der Lage, den Zähler mit dieser beantworteten Frage zu formatieren: http://stackoverflow.com/questions/20316299/formatting-output-of-counter#20316330 –