如何使用Python或Java将CSV转换为JSON。csv是嵌套JSON的表示(包含JSON对象和嵌套对象的数组)

如何使用Python或Java将CSV转换为JSON。csv是嵌套JSON的表示(包含JSON对象和嵌套对象的数组),java,python,json,csv,Java,Python,Json,Csv,我得到的csv文件如下: 属性1_x,属性1_y,属性1_z_0_p,属性1_z_0_c,属性1_z_1_p,属性1_z_1_c,属性2_R,属性2_K,属性3 1100200500600222320,你好 csv表示如下所示的json 基本上这里我得到了上面的CSV,需要将其转换为所示的JSON结构 。不知道怎么做。是否有任何库(Python/Java)可以帮助我解决这个问题 如果有任何具有不同csv标题的解决方案/建议可用,也可以使用。我可以要求团队为我提供具有不同标题名称的csv,以

我得到的csv文件如下:

属性1_x,属性1_y,属性1_z_0_p,属性1_z_0_c,属性1_z_1_p,属性1_z_1_c,属性2_R,属性2_K,属性3

1100200500600222320,你好


csv表示如下所示的json



基本上这里我得到了上面的CSV,需要将其转换为所示的JSON结构 。不知道怎么做。是否有任何库(Python/Java)可以帮助我解决这个问题

如果有任何具有不同csv标题的解决方案/建议可用,也可以使用。我可以要求团队为我提供具有不同标题名称的csv,以表示嵌套/数组

JSONObject jsonObject = new JSONObject("{
"attrib1":{
           "x":1,
           "y":2,
           "z":[{"p":100,"c":200},{"p":500,"c":600}]
          },
"attrib2":{"R":222,"K":320},
"attrib3":"hello"
}");
试试看。 这可能会有帮助

试试看。
它可能会有帮助

首先迭代
,然后类似地迭代
,并保存到csv中

  String eol = System.getProperty("line.separator");
                try(Writer writer = new FileWriter("C:\\Users\\m.hussain\\Desktop\\CSV\\testing.csv"))
                {
                    for (Map<String, Object> map : objectRecords)
                    {
                        for (Map.Entry<String, Object> entry : map.entrySet())
                        {
                            writer.append(entry.getKey())
                                    .append(',');
                        }
                        break;
                    }
                    writer.append(eol);
                    for (Map<String, Object> map : objectRecords)
                    {
                        for (Map.Entry<String, Object> entry : map.entrySet())
                        {
                            JSONObject jsonObject;
                            try
                            {
                                jsonObject = new JSONObject(String.valueOf(entry.getValue()));
                                writer.append(jsonObject.getString("value"));
                            }
                            catch (Exception e)
                            {
                                writer.append(String.valueOf(entry.getValue()));
                            }
                            writer.append(',');
                        }
                        writer.append(eol);
                    }
String eol=System.getProperty(“line.separator”);
尝试(Writer Writer=newfilewriter(“C:\\Users\\m.hussain\\Desktop\\CSV\\testing.CSV”))
{
for(映射:objectRecords)
{
对于(Map.Entry:Map.entrySet())
{
writer.append(entry.getKey())
.append(',');
}
打破
}
writer.append(eol);
for(映射:objectRecords)
{
对于(Map.Entry:Map.entrySet())
{
JSONObject JSONObject;
尝试
{
jsonObject=newJSONObject(String.valueOf(entry.getValue());
append(jsonObject.getString(“value”);
}
捕获(例外e)
{
writer.append(String.valueOf(entry.getValue());
}
writer.append(',');
}
writer.append(eol);
}

首先迭代
,然后同样迭代
并保存到csv中

  String eol = System.getProperty("line.separator");
                try(Writer writer = new FileWriter("C:\\Users\\m.hussain\\Desktop\\CSV\\testing.csv"))
                {
                    for (Map<String, Object> map : objectRecords)
                    {
                        for (Map.Entry<String, Object> entry : map.entrySet())
                        {
                            writer.append(entry.getKey())
                                    .append(',');
                        }
                        break;
                    }
                    writer.append(eol);
                    for (Map<String, Object> map : objectRecords)
                    {
                        for (Map.Entry<String, Object> entry : map.entrySet())
                        {
                            JSONObject jsonObject;
                            try
                            {
                                jsonObject = new JSONObject(String.valueOf(entry.getValue()));
                                writer.append(jsonObject.getString("value"));
                            }
                            catch (Exception e)
                            {
                                writer.append(String.valueOf(entry.getValue()));
                            }
                            writer.append(',');
                        }
                        writer.append(eol);
                    }
String eol=System.getProperty(“line.separator”);
尝试(Writer Writer=newfilewriter(“C:\\Users\\m.hussain\\Desktop\\CSV\\testing.CSV”))
{
for(映射:objectRecords)
{
对于(Map.Entry:Map.entrySet())
{
writer.append(entry.getKey())
.append(',');
}
打破
}
writer.append(eol);
for(映射:objectRecords)
{
对于(Map.Entry:Map.entrySet())
{
JSONObject JSONObject;
尝试
{
jsonObject=newJSONObject(String.valueOf(entry.getValue());
append(jsonObject.getString(“value”);
}
捕获(例外e)
{
writer.append(String.valueOf(entry.getValue());
}
writer.append(',');
}
writer.append(eol);
}

您知道要构建的对象的结构吗,还是需要从标题中提取该结构?无论如何,我认为没有用于该结构的库,但通过逐行解析文件来构建每个对象应该很容易。您知道要构建的对象的结构还是需要从标题中提取该结构?在在任何情况下,我都不认为它有一个库,但是逐行构建解析文件的每个对象应该很容易{“x”:1,“y”:2,“z”:[{“p”:100,“c”:200},{“p”:500,“c”:600}]},{“attrib2”:{“R”:222,“K”:320},“attrib3”:“hello”}对于键,myDct中的值。items():打印(键,值)