Ich habe eine CSV-Datei in S3 und ich versuche, die Kopfzeile zu lesen, um die Größe zu erhalten (diese Dateien werden von unseren Benutzern erstellt, so dass sie fast jede Größe haben können). Gibt es eine Möglichkeit, dies mit Boto zu tun? Ich dachte, ich könnte vielleicht einen Python BufferedReader, aber ich kann nicht herausfinden, wie man einen Stream von einem S3-Schlüssel öffnet. Irgendwelche Vorschläge wären großartig. Danke!
Es scheint, dass Boto eine Funktion read()
hat, die dies tun kann. Hier ist ein Code, der für mich funktioniert:
Der Aufruf von read(n)
gibt die nächsten n Bytes vom Objekt zurück.
Natürlich wird dies nicht automatisch die "Kopfzeile" zurückgeben, aber Sie könnten sie mit einer ausreichend großen Zahl aufrufen, um die Kopfzeile auf ein Minimum zurückzusetzen.
Sie finden Ссылка nützlich für Ihre Aufgabe.
Aus der Dokumentation:
%Vor%Hier ist eine Lösung, die die Daten Zeile für Zeile überträgt:
%Vor%