Python pandas将逗号分隔值列表转换为dataframe

Alo*_*lon 5 python dataframe pandas

我有一个字符串列表,如下所示:

["Name: Alice, Department: HR, Salary: 60000", "Name: Bob, Department: Engineering, Salary: 45000"]
Run Code Online (Sandbox Code Playgroud)

我想将此列表转换为如下所示的DataFrame:

Name | Department | Salary
--------------------------
Alice | HR | 60000

Bob | Engineering | 45000
Run Code Online (Sandbox Code Playgroud)

最简单的方法是什么?我的直觉说将数据放入CSV并用正则表达式"^.*:"分隔标题,但必须有一个更简单的方法

ayh*_*han 9

通过一些字符串处理,您可以获得一个dicts列表并将其传递给DataFrame构造函数:

lst = ["Name: Alice, Department: HR, Salary: 60000", 
       "Name: Bob, Department: Engineering, Salary: 45000"]
pd.DataFrame([dict([kv.split(': ') for kv in record.split(', ')]) for record in lst])
Out: 
    Department   Name Salary
0           HR  Alice  60000
1  Engineering    Bob  45000
Run Code Online (Sandbox Code Playgroud)