2017-04-11 64 views
3

我正在读取一个.csv文件到一个熊猫数据框中。 .csv文件包含多个列。列'A'包含一个字符串'20 -989-98766'。加载文件时是否可以只读取字符串中最后5个字符'98766'?转换关于读熊猫的csv的数据

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

输出:

A 
98766 
95476 
..... 

回答

4

您可以定义func,并通过此作为对Arg的converters参数有关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 

所以在这里我定义了一个func,并通过这converters以字典的形式将列名称作为关键字,这将在您的每行上调用func CSV

所以你的情况下面应该工作:

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