如何将数据帧列中包含非jason对象的嵌套数组分离到不同的列?

2024-06-25 22:51:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我正在尝试将包含数组的属性拆分为数据帧中的单个属性。我要拆分的数据框列的行具有以下形式:

[
  {lockstatus=0, openstatus=0, enablestatus=0},
  {lockstatus=0, openstatus=0, enablestatus=0},
  {lockstatus=0, openstatus=0, enablestatus=0},
  {lockstatus=0, openstatus=0, enablestatus=0},
  {lockstatus=0, openstatus=0, enablestatus=0},
  {lockstatus=0, openstatus=0, enablestatus=0},
  {lockstatus=0, openstatus=0, enablestatus=0},
  {lockstatus=0, openstatus=0, enablestatus=0},
  {lockstatus=0, openstatus=0, enablestatus=0},
  {lockstatus=0, openstatus=0, enablestatus=0}
]

当用=而不是:定义这些属性时,有没有一种方法可以将它们分开

注意:json.normalize函数不适用于我,因为对象是用=而不是:定义的


Tags: 数据对象方法函数json属性定义数组
2条回答

我不明白这些数据是从哪里来的。它既不是有效的Python语法,也不是json语法。你有一个包含这个数据的字符串文件吗

如果您有这样一个文件,您可以通过以下方式将“=”转换为“:”:

with open("myfile.someextension") as file:
    file_str = file.read()

replace_equal_to_colon = file_str.replace("=", ":")

with open("write_changed_str_back.someextension", "w") as file:
    file.write(replace_equal_to_colon)

在那之后你就有了一个有效的语法,你可以用它做任何你想做的事情

您可以尝试将dataframe列中的“=”替换为“:”,并对其进行规范化

df['column_name'] = df['column_name'].str.replace('=',':')

相关问题 更多 >