Frage:
Was wäre ein guter Weg, um mit einem großen Datensatz in Excel zu arbeiten?
Furlong
2011-05-26 02:32:14 UTC
view on stackexchange narkive permalink

Ich habe gerade einen großen Datensatz im DBF-Format, und ich möchte ihn einfach in Excel bearbeiten und so etwas wie Zwischensumme ausführen und stdev und Verhältnisse berechnen können.

Details des Datensatzes; Dieser Datensatz enthält Kundeninformationen. Es hat 1,2 Millionen Zeilen und 20 Spalten, wobei die Zeilen jeweils ein eindeutiger Käufer sind und die Spalten ihre Einkaufsdaten enthalten (was sie gekauft haben).

Ich verwende Office 2007-Programme, ich kenne Excel am besten, war es aber Ich frage mich, welche Alternativen ich verwenden könnte, um meine Ziele zu erreichen (Zwischensumme, stdev berechnen und Verhältnisse berechnen).

Soweit ich weiß, können Sie in Excel 2007 nur etwa 1 Million Zeilen verwenden (bei einer schnellen Google-Suche werden in Excel 2007 maximal 1.048.576 Zeilen angezeigt). Ich würde sagen, dass Sie am besten ein Datenbankprogramm wie SQL oder Access verwenden. Es gibt einfache Datenbankabfragen, die Ihnen das geben, was Sie wollen (Zwischensummen, SDs usw.). Ich habe auch nicht wirklich selbst damit gearbeitet, aber ich bin sicher, dass Sie über Access von Excel aus auf Excel zugreifen können. Ehrlich gesagt würde ich nur R verwenden, und für das, was Sie zu berechnen versuchen, dauert es nicht lange, einige einfache Funktionen zu lernen :)
Vielen Dank für den Vorschlag zu R, kennen Sie Online-Ressourcen, die mich ziemlich schnell zum Laufen bringen könnten? Ich habe einige Erfahrung in der Programmierung in Python.
@Furlong: Sie können R kostenlos herunterladen [hier] (http://www.r-project.org/). Es gibt viele Anleitungen für den Einstieg in R, die online verfügbar sind. Hier ist [eine für Anfänger] (http://cran.r-project.org/doc/contrib/Paradis-rdebuts_en.pdf), die ich bei Google gefunden habe. Da Sie Erfahrung in einer Programmiersprache haben, sollten Sie mit der Idee der Variablenzuweisung vertraut sein. Sie sollten sich darauf konzentrieren, Dateien in R einzulesen und die Verwendung von Funktionen (wie sum (), mean (), sd () usw.) zu lernen.
Wenn Ihre Originaldatei im Access-Format vorliegt, können Sie mithilfe von Abfragen und / oder Visual Basic-Modulen berechnen, was Sie benötigen.
Wenn Sie Python bereits kennen, ist diese Aufgabe trivial und es ist nicht erforderlich, R herunterzuladen. Es gibt das dbfpy-Paket zum direkten Lesen von dbf-Dateien, xlrd zum Lesen von Excel-Dateien und numpy die Zusammenfassungsstatistik.
@Josh, xlrd funktioniert nur mit xls, Excel 2007 verwendet xlsx. Sie können konvertieren, aber es könnte langweilig werden. Und wahrscheinlich wird xlwt hier mehr benötigt, um in Excel-Dateien zu schreiben, nicht um zu lesen.
@mpiktas - Sie haben recht; Danke für die Verbesserung! Ich sollte es auch besser wissen. Ich habe Excel 2007-Dateien mit win32com gelesen, und dann gibt es die Pakete openpyxl und pyxlsx. Dieser Blog zeigt eine Menge Dinge, die Sie tun können, um Excel-Dateien programmgesteuert aus Python zu lesen / schreiben (z. B. programmgesteuert Pivot-Tabellen zu schreiben): http://www.pythonexcels.com/
Drei antworten:
#1
+14
b_dev
2011-05-26 03:39:08 UTC
view on stackexchange narkive permalink

Wenn Sie der Meinung sind, dass Sie in Zukunft möglicherweise mehr solcher sehr großen Excel-Projekte starten, sollten Sie in Betracht ziehen, die Grundlagen von R (kostenlos) zu installieren und 10 Stunden lang zu erlernen, damit Sie das tun können, was Sie in Ihrer Frage erwähnt haben Dies ist wesentlich effizienter als in Excel.
R für Anfänger PDF

Sie können Fragen zu R in StackOverflow und hier stellen.

"viel effizienter als Excel", denke ich :)
Guter Fang. Ich habe das gerade bearbeitet.
Fragen zu R können auch hier gestellt werden :)
#2
+10
Henrik
2011-05-26 18:55:58 UTC
view on stackexchange narkive permalink

Obwohl ich immer empfehlen würde, R zu verwenden, können Sie mit Python dennoch das erreichen, was Sie wollen.

Es gibt mindestens ein Paket zum Lesen von dbf-Dateien.

Darüber hinaus bietet scipy eine Vielzahl von Funktionen für statistische Analysen. Zum Beispiel enthält die Bibliothek ScientifyPython wahrscheinlich die Funktionen, die Sie benötigen.

Am besten überprüfen Sie scipy.org. Dort finden Sie, was Sie wollen.

(Aber R zu lernen ist eine großartige Idee !!)

+1 für die Anweisung an jemanden in einer Sprache, die er bereits kennt. Beachten Sie, dass numpy über alle Funktionen verfügt, die das OP als erforderlich beschrieben hat.
#3
+1
seanv507
2014-09-16 20:18:00 UTC
view on stackexchange narkive permalink

Excel 2010 und 2013 verfügen über ein kostenloses Microsoft-Add-In namens Power Pivot, mit dem Sie mit Millionen von Zeilen arbeiten können. Es handelt sich um eine Säulendatenbank, die zum Erstellen von Pivot-Tabellen, Zwischensummen usw. ausgelegt ist und deren Standardabweichung usw. vordefiniert ist. Sie können sich auch andere Power Adds (Dateneingabe), Power View (Visualisierung) und Power Map (Mapping)

anderer Microsoft Addins ansehen


Diese Fragen und Antworten wurden automatisch aus der englischen Sprache übersetzt.Der ursprüngliche Inhalt ist auf stackexchange verfügbar. Wir danken ihm für die cc by-sa 3.0-Lizenz, unter der er vertrieben wird.
Loading...