【问题标题】:how to read json data excel file in python [closed]如何在python中读取json数据excel文件[关闭]
【发布时间】:2021-12-13 15:59:38
【问题描述】:

我有一个 json 数据列存在的 excel 文件,我想在 pyspark python 中读取该列的每个值,而不是我该怎么做? data.xlsx

【问题讨论】:

    标签: python pandas pyspark openpyxl


    【解决方案1】:
    from ast import literal_eval
    
    import pandas as pd
    
    
    df_raw = pd.read_excel("data.xlsx")
    data_raw = df_raw.loc[:, "data"]
    
    data_raw = data_raw.apply(literal_eval)
    data_raw = data_raw.tolist()
    df = pd.DataFrame(data_raw)
    

    基本上,我使用 literal_eval 将“数据”列中的所有 JSON 字符串转换为 Python dicts,然后将 Python dicts 列表转换为 DataFrame。

    让我知道它是否适合你!

    您也可以使用json 包中的loads 函数来代替literal_evaljson.loads 更具体地用于JSON 格式,而literal_eval 则更好,如果您有通用字典或存储在 Excel 文件中的其他 Python 数据结构。

    【讨论】:

      【解决方案2】:
      import json
      import pandas as pd
      
      df = pd.read_excel("data.xlsx")
      
      # Convert strings to dictionaries
      df["data"] = df["data"].apply(json.loads)
      
      # Explode dictionaries column into multiple columns
      df2 = pd.DataFrame(df["data"].tolist())
      
      # Join ID column with data columns
      df = df[["id"]].join(df2)
      
      print(df)
      # Output:
      #    id name languages
      # 0   1  Bob   English
      # 1   2  Bob   English
      

      【讨论】:

        猜你喜欢
        • 2019-04-09
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2021-01-30
        • 2023-04-03
        • 2013-08-09
        • 1970-01-01
        相关资源
        最近更新 更多