Je voudrais importer le csv suivant en tant que chaînes et non en int64. Pandas read_csv le convertit automatiquement en int64, mais j'ai besoin de cette colonne sous forme de chaîne.
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
Malheureusement, l'utilisation de convertisseurs donne le même résultat.
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
Réponses:
Je veux juste réitérer que cela fonctionnera dans les pandas> = 0.9.1:
Je crée également un problème concernant la détection des débordements d'entiers.
EDIT: Voir la résolution ici: https://github.com/pydata/pandas/issues/2247
la source
dtype = str
.Ce n'est probablement pas la façon la plus élégante de le faire, mais cela fait le travail.
Remplacez simplement
'/Users/spencerlyon2/Desktop/test.csv'
par le chemin de votre fichierla source
Depuis pandas 1.0, c'est devenu beaucoup plus simple. Cela lira la colonne 'ID' comme dtype 'string':
Comme nous pouvons le voir dans ce guide de démarrage , le dtype 'string' a été introduit (avant que les chaînes ne soient traitées comme dtype 'object').
la source