Ich möchte die folgende CSV als Zeichenfolge importieren, nicht als int64. Pandas read_csv konvertiert es automatisch in int64, aber ich brauche diese Spalte als Zeichenfolge.
ID
00013007854817840016671868
00013007854817840016749251
00013007854817840016754630
00013007854817840016781876
00013007854817840017028824
00013007854817840017963235
00013007854817840018860166
df = read_csv('sample.csv')
df.ID
>>
0 -9223372036854775808
1 -9223372036854775808
2 -9223372036854775808
3 -9223372036854775808
4 -9223372036854775808
5 -9223372036854775808
6 -9223372036854775808
Name: ID
Leider führt die Verwendung von Konvertern zum gleichen Ergebnis.
df = read_csv('sample.csv', converters={'ID': str})
df.ID
>>
0 -9223372036854775808
1 -9223372036854775808
2 -9223372036854775808
3 -9223372036854775808
4 -9223372036854775808
5 -9223372036854775808
6 -9223372036854775808
Name: ID
Antworten:
Ich möchte nur wiederholen, dass dies in Pandas> = 0.9.1 funktioniert:
Ich erstelle ein Problem beim Erkennen von Ganzzahlüberläufen.
BEARBEITEN: Siehe Auflösung hier: https://github.com/pydata/pandas/issues/2247
quelle
dtype = str
.Dies ist wahrscheinlich nicht die eleganteste Art, dies zu tun, aber es erledigt die Arbeit.
Ersetzen Sie einfach durch
'/Users/spencerlyon2/Desktop/test.csv'
den Pfad zu Ihrer Dateiquelle
Seit Pandas 1.0 wurde es viel einfacher. Dies liest die Spalte 'ID' als dtype 'string':
Wie wir in diesem sehen Getting Started Guide , ‚string‘ dtype eingeführt worden ist (vor Strings als dtype ‚Objekt‘ behandelt wurden).
quelle