如何使用熊猫将csv文件读入数据帧

时间:2019-05-15 04:00:54

标签: python-3.x pandas opencsv

我刚得到一个csv文件,我想使用熊猫将数据集加载为数据框。但是,我有点混淆了这种数据格式。

这是两行数据的示例:

Name=John, Gender=M, BloodType=A, Location=New York, Age=18
Name=Mary, Gender=F, BloodType=AB, Location=Seatle, Age=30

如何将此数据集加载到具有列(名称,性别,BloodType等)的数据框中?

我将不胜感激,有人会给我提示!

2 个答案:

答案 0 :(得分:0)

使用pandas read_csv方法读取csv文件。 这是一个示例程序,您如何做到这一点:

import pandas as pd

data = pd.read_csv("path_to_csv_file")

print(data)

答案 1 :(得分:0)

首先将read_csvheader=None一起使用:

import pandas as pd

temp=u"""Name=John,Gender=M,BloodType=A,Location=New York,Age=18
Name=Mary,Gender=F,BloodType=AB,Location=Seatle,Age=30"""
#after testing replace 'pd.compat.StringIO(temp)' to 'filename.csv'
df = pd.read_csv(pd.compat.StringIO(temp), header=None)
print (df)
           0         1             2                  3       4
0  Name=John  Gender=M   BloodType=A  Location=New York  Age=18
1  Name=Mary  Gender=F  BloodType=AB    Location=Seatle  Age=30

然后将DataFrame.applySeries.str.split并选择第二个列表,最后更改列名称:

df1 = df.apply(lambda x: x.str.split('=').str[1])
df1.columns = df.iloc[0].str.split('=').str[0].rename(None)
#if necessary
df1['Age'] = df1['Age'].astype(int)
print (df1)
   Name Gender BloodType  Location  Age
0  John      M         A  New York   18
1  Mary      F        AB    Seatle   30