"Gill Sans Standard", "FontSize"=>"Medium (3mm)-6ren">
gpt4 book ai didi

python - 在python中拆分键值字符串并将其移动到df列中

转载 作者:行者123 更新时间:2023-12-01 01:07:53 25 4
gpt4 key购买 nike

这是我拥有的列,我想将其拆分为键值并存储在 pandas df 中的新列中。

{"FontStyle"=>"Gill Sans Standard", "FontSize"=>"Medium (3mm)"}
{"Font Style"=>"Gill Sans Standard","Font Size"=>"Medium (3mm)"}
{"Font Style":"Script","Font Size":"Medium (3mm)"}
{"Font Style"=>"Gill Sans Standard","Font Size"=>"Medium (3mm)"}
{"Font Style":"Gill Sans Standard","Font Size":"Medium (3mm)"}

主要问题是有些有“=>”而有些有冒号

我想要 df 中的两个新列,一个用于字体样式,另一个用于字体大小以及其中受尊重的值

如果有人可以帮助我实现这一目标,那就太好了,如果您能给我推荐一些关于正则表达式的书籍/教程,那就太好了。

谢谢

最佳答案

这不是迄今为止最有效的代码,但它可以完成工作。

import pandas as pd
import ast

text = '''{"FontStyle"=>"Gill Sans Standard", "FontSize"=>"Medium (3mm)"}
{"Font Style"=>"Gill Sans Standard","Font Size"=>"Medium (3mm)"}
{"Font Style"=>"Script","Font Size"=>"Medium (3mm)"}
{"Font Style"=>"Gill Sans Standard","Font Size"=>"Medium (3mm)"}'''

my_list = []

text = text.replace("FontStyle", "Font Style")
text = text.replace("FontSize", "Font Size")
text = text.replace("=>", ":")
text = text.split("\n")

for one_dict in text:
my_list.append(ast.literal_eval(one_dict))

df = pd.DataFrame(my_list)
print(df)

上述代码的输出:

      Font Size          Font Style
0 Medium (3mm) Gill Sans Standard
1 Medium (3mm) Gill Sans Standard
2 Medium (3mm) Script
3 Medium (3mm) Gill Sans Standard

我希望这有帮助。 :-) 如果确实如此,请告诉我。

关于python - 在python中拆分键值字符串并将其移动到df列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55156019/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com