如何使用 pandas 将 csv 文件读入数据框

How to read csv file into dataframe using pandas

我刚得到一个 csv 文件,我想使用 pandas 将数据集加载为数据框。但是,我对这种数据格式有点困惑。

以下是两行的数据示例:

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

如何将此数据集加载到包含列(姓名、性别、血型等)的数据框中?

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

使用pandas read_csv方法读取csv文件。 这是一个示例程序,您可以如何执行此操作:

import pandas as pd

data = pd.read_csv("path_to_csv_file")

print(data)

首先使用 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.apply with Series.str.split 和 select 第二个列表,最后更改列名称:

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