2024-09-27 09:31:56 发布
网友
我有一根绳子,它是-
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"
我想将这个字符串转换为Python DataFrame,其中KEY和AGE作为列名。 给定的密钥和年龄是成对的。 我如何实现这种转换
使用一个正则表达式来查找所有的key/age:"key=(\w+)\s*,\s*age=(\w+)"对,然后使用它们来构建数据帧
key/age
"key=(\w+)\s*,\s*age=(\w+)"
import re import pandas as pd content = "Key=xxxx, age=11, key=yyyy , age=22,Key=zzzz, age=01, key=qqqq, age=21,Key=wwwww, age=91, key=pppp, age=22" pat = re.compile(r"key=(\w+)\s*,\s*age=(\w+)", flags=re.IGNORECASE) values = pat.findall(content) df = pd.DataFrame(values, columns=['key', 'age']) print(df) # - - - - - key age 0 xxxx 11 1 yyyy 22 2 zzzz 01 3 qqqq 21 4 wwwww 91 5 pppp 22
你可以试试regex
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
使用一个正则表达式来查找所有的
key/age
:"key=(\w+)\s*,\s*age=(\w+)"
对,然后使用它们来构建数据帧你可以试试
regex
相关问题 更多 >
编程相关推荐