如何将数据框列的非 json 对象的嵌套数组分离到不同的列?

How to seperate a nested array with non-jason objects of a data frame column, to different columns?

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

[
  {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 函数对我不起作用,因为对象是用 = 而不是 :.[=16 定义的=]

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

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

我无法理解这些数据的来源。它既不是有效的 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)

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