如何将带有数据框列的非杰森对象的嵌套数组分隔到不同的列?

时间:2019-05-09 13:38:59

标签: python json pandas dataframe normalize

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

collection

使用[ {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而不是=定义的。

2 个答案:

答案 0 :(得分:0)

您可以尝试在数据框列中将'='替换为':',并将其标准化。

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

答案 1 :(得分:0)

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

之后,您将拥有有效的语法,并且可以使用它进行任何操作。