首页 > 解决方案 > 将逗号分隔的字符串转换为 Pandas 数据框

问题描述

我有一个字符串 -

str="Key=xxxx, age=11, key=yyyy , age=22,Key=zzzz, age=01, key=qqqq, age=21,Key=wwwww, age=91, key=pppp, age=22"

我想将此字符串转换为以 KEY 和 AGE 作为列名的 Python DataFrame。给定的密​​钥和年龄是成对的。我怎样才能实现这种转换?

标签: pythonpython-3.xpandasdataframenumpy

解决方案


你可以试试regex

import re
import pandas as pd

s = "Key=xxxx, age=11, key=yyyy , age=22,Key=zzzz, age=01, key=qqqq, age=21,Key=wwwww, age=91, key=pppp, age=22"

df = pd.DataFrame(zip(re.findall(r'Key=([^,\s]+)', s, re.IGNORECASE), re.findall(r'age=([^,\s]+)', s, re.IGNORECASE)),
                 columns=['key', 'age'])

df
     key    age
0   xxxx    11
1   yyyy    22
2   zzzz    01
3   qqqq    21
4   wwwww   91
5   pppp    22

推荐阅读