欢迎访问宙启技术站
智能推送

使用Pythondemjson库将JSON数据转换为CSV文件

发布时间:2023-12-11 09:43:54

使用Python的demjson库可以将JSON数据转换为CSV文件。demjson是一个用于编码和解码JSON数据的库,可以将JSON数据转换为Python对象,然后可以使用Python内置的csv库将Python对象转换为CSV文件。

下面是一个使用demjson库将JSON数据转换为CSV文件的例子:

import demjson
import csv

# JSON数据
json_data = '''
[
  {
    "name": "John",
    "age": 30,
    "city": "New York"
  },
  {
    "name": "Alice",
    "age": 25,
    "city": "Los Angeles"
  },
  {
    "name": "Tom",
    "age": 35,
    "city": "Chicago"
  }
]
'''

# 将JSON数据转换为Python对象
data = demjson.decode(json_data)

# 写入CSV文件
with open('data.csv', 'w', newline='') as csvfile:
    # 定义CSV文件的列名
    fieldnames = ['name', 'age', 'city']
    writer = csv.DictWriter(csvfile, fieldnames=fieldnames)

    # 写入列名
    writer.writeheader()

    # 写入数据
    for item in data:
        writer.writerow({'name': item['name'], 'age': item['age'], 'city': item['city']})

在上面的例子中,我们首先定义了一个JSON字符串作为输入数据。然后使用demjson库的decode函数将JSON数据转换为Python对象。接下来,我们使用Python内置的csv库打开一个CSV文件,并定义了文件的列名,即name、age和city。然后,使用csv.DictWriter函数创建一个写入器,并调用writeheader方法来写入列名。最后,使用writerow方法逐行写入数据。

运行上述代码后,将会生成一个名为data.csv的CSV文件,其中包含了JSON数据的内容。CSV文件的内容如下:

name,age,city
John,30,New York
Alice,25,Los Angeles
Tom,35,Chicago

通过上面的例子我们可以看到,使用demjson库可以方便地将JSON数据转换为CSV文件。只需将JSON数据解码为Python对象,然后通过csv库将Python对象转换为CSV文件即可。