使用python将csv转换为Json

使用python将csv转换为Json,python,json,pandas,Python,Json,Pandas,我有一个csv文件,其中包含我想要转换为json格式的数据,但我对格式有疑问 csv文件中的数据输入: 数据框中显示的数据: 我想要json中的数据格式: [restaurant name: Address: Sate: Logo: Review: menu: { food name food price }, { food name food price }, ] 我已经尝试过这个代码,

我有一个csv文件,其中包含我想要转换为json格式的数据,但我对格式有疑问

csv文件中的数据输入:

数据框中显示的数据:

我想要json中的数据格式:

[restaurant name: 
  Address:
  Sate:
  Logo:
  Review:
    menu: {
    food name
    food price
    
    },
    {
    food name
    food price
    
    },
]
我已经尝试过这个代码,但是没有得到想要的结果

代码如下:

import pandas as pd

df = pd.read_csv(r'.\test.csv')
print(df)

df.to_json(r'.\test.json', orient='values')
是否有任何方法可以获得该格式的结果

编辑:用于说明的最小数据集

Restaurant_Name,Address,State,Logo,Review,Menu,Price
"Taiwan bubble tea","Taipei,Taiwan","bestille","http://url",6,"Classic milk tea","47kr"
"Taiwan bubble tea","Taipei,Taiwan","bestille","http://url",6,"Matcha Mlik tea","47kr"
"Taiwan bubble tea","Taipei,Taiwan","bestille","http://url",6,"Melon Milk tea","47kr"
"Taiwan bubble tea","Taipei,Taiwan","bestille","http://url",6,"Mango tea","47kr" 
你可以用它来做

(df
    .rename(columns={"Menu":"food_name"}) # change column name to have "food_name" instead of "Menu" in the resulting nested JSON
    .groupby(["Restaurant_Name", "Address", "State", "Logo", "Review"])
    .apply(lambda x: x[["food_name", "Price"]].to_dict('records'))
    .reset_index()
    .rename(columns={0:"Menu"})
    .to_json(r"yourJSONfile.json", orient="records", indent=4))
  • 首先,数据是
    groupby
    ed餐厅的特征(名称、地址、状态、徽标和评论),对于每个餐厅,我们将所有行转换为包含食物信息的dict数组

  • 重置索引后,您将获得一个数据框,其中每个餐厅一行,最后一列名为0,包含菜单项数组及其价格

  • 因为它更漂亮,更有意义,所以我们将列0重命名为“Menu”

  • 然后,带有orient='records'的函数可以将数据帧作为json文件写入,作为一个数组,每个餐厅(=数据帧的1行)有一个条目,每个键是一个列名。特别是,“菜单”键将具有食物项的数组

  • 结果如下所示:


    将数据框作为代码而不是图片提供csv文件是文本文件。当以Excel等数据表编辑器中的显示方式打印时,不会显示分隔符,也不会显示可能的引号,并且可以重新解释数字或日期。请显示为文本。您可以在类Unix系统上使用
    cat
    命令,或在Windows上使用
    type
    ,或在文本编辑器(如记事本、记事本++、vi、…@gold_cy、,我已经更新了这个问题,希望你能理解我的意思say@SergeBallesta你能给出一个正确的指南吗?但是文件是在哪里创建的?只需编辑答案,以便将数据导出到“yourJSONfile.json”文件,而不必在to_json函数中使用“r'yourJSONfile.json'”参数,pandas只返回JSON数据的字符串表示形式,而不将其保存到文件中,还请解释此代码谢谢,但它没有给出所需的输出