Verwenden Sie Python ändern csv Datenspalte Format

stimmen
2

Ich verwende Python Pandas CSV-Datei zu lesen. Die CSV-Datei hat eine Datetime-Spalte, die zweite Präzisierungen „2015.09.01 09.25.00“ hat, aber wenn ich in Excel öffnen, hat es nur Minuten Präzisierungen „9/1/15 9.25“. Außerdem, wenn ich die pd.read_csv () Funktion zu verwenden, es zeigt nur bis zu Minute Präzision. Gibt es eine Möglichkeit, dass ich das Problem mit Python lösen könnte? Dank viel im Voraus.

Veröffentlicht am 16/10/2015 um 02:56
vom benutzer
In anderen Sprachen...                            


2 antworten

stimmen
0

Dies ist eine Zeit der Formatierung Problem / Philosophie von Excel. Aus irgendeinem Grund zieht Microsoft Sekunden und Unter Sekunden auf User - Displays zu verbergen: Auch MS - DOS der dirBefehl Sekunden weggelassen.

Wenn ich Sie wäre, würde ich Excel verwenden formatBetrieb und setzen Sie ihn Sekunden angezeigt, dann die Tabelle als CSV speichern und sehen , ob es in sie alles , um die verbesserte Formatierung aufzuzeichnen.

Wenn das nicht funktioniert, können Sie erforschen ein Makro zu schaffen, die die Formatierung der Fall ist, oder eine der IPC zu Excel verwenden, um es zu befehlen Ihr Bieten zu tun.

Beantwortet am 16/10/2015 um 03:09
quelle vom benutzer

stimmen
0

Gehen Sie in auf „Zellen formatieren“ und geben Sie d/mm/yyyy h:mm:ssals Ihre benutzerdefinierte Formatierungsoption

Geben Sie hier image description

Edit: Nicht sicher , ob ich Ihre Frage völlig verstehen. Versuchen Sie folgendes: eine Textdatei mit einer einzigen Zeile „2015.09.01 09.25.00“, nennen Sie es test.csv. Jetzt tun df = pd.read_csv('test.csv', header=None). Wenn Sie Ihre Spalte drucken mit df[0]sollten Sie dies sehen:

In [35]: df[0]
Out[35]:
0    9/1/2015 9:25:00 AM
Name: 0, dtype: object

dh Pandas hat gerade die Spalte als String (Objekt) gelesen und die Sekunden sind recht.

Wenn Sie zu einem Zeitstempel umwandeln möchten, rufen Sie pd.to_datetime

In [36]: pd.to_datetime(df[0])
Out[36]:
0   2015-09-01 09:25:00
Name: 0, dtype: datetime64[ns]

Auch hier sind die Sekunden immer noch da. Beantwortet das deine Frage?

Beantwortet am 16/10/2015 um 04:44
quelle vom benutzer

Cookies help us deliver our services. By using our services, you agree to our use of cookies. Learn more