2017-04-11 3 views
3

Ich lese eine .csv-Datei in einen Pandas-Datenrahmen. Die CSV-Datei enthält mehrere Spalten. Spalte 'A' enthält eine Zeichenfolge '20 -989-98766 '. Ist es möglich, beim Laden der Datei nur die letzten 5 Zeichen '98766' aus der Zeichenfolge zu lesen?Konvertiere Daten beim Lesen von CSV in Pandas

df = pd.read_csv("test_data2.csv", column={'A':read the last 5 characters}) 

Ausgang:

A 
98766 
95476 
..... 

Antwort

4

Sie einen func definieren und übergeben diese als ARG converters param für read_csv:

In [57]: 
import io 
import pandas as pd 
def func(x): 
    return x[-5:] 
t="""column 
'20-989-98766""" 
df = pd.read_csv(io.StringIO(t), converters={'column': func}) 
df 

​ 
Out[57]: 
    column 
0 98766 

Also hier definiere ich eine func und übergeben diese an converters in Form eines Diktats mit Ihrem Spaltennamen als Schlüssel, wird dies die func in jeder Zeile in Ihrem anrufen csv

so in Ihrem Fall sollten folgende Arbeiten:

df = pd.read_csv("test_data2.csv", converters={'A':func})