利用Python将Json数据转为表格并写入Excel

一、准备数据源

注意:每一行都有一个中括号[ ]。

[{"name":"风向(act.)","id":"WD","device":"weather","timestamp":1553783825903,"scanDateStr":"2019-03-28 14:37:05","value":111.1,"interval":10}]
[{"name":"风向(act.)","id":"WD","device":"weather","timestamp":1553783836097,"scanDateStr":"2019-03-28 14:37:16","value":107.4,"interval":10}]
[{"name":"风向(act.)","id":"WD","device":"weather","timestamp":1553783846322,"scanDateStr":"2019-03-28 14:37:26","value":107.9,"interval":10},{"name":"风速(act.)","id":"WS","unit":"m/s","device":"weather","timestamp":1553783846322,"scanDateStr":"2019-03-28 14:37:26","value":2.2,"interval":10}]
[{"name":"风向(act.)","id":"WD","device":"weather","timestamp":1553783856534,"scanDateStr":"2019-03-28 14:37:36","value":94.1,"interval":10},{"name":"风速(act.)","id":"WS","unit":"m/s","device":"weather","timestamp":1553783856534,"scanDateStr":"2019-03-28 14:37:36","value":1.1,"interval":10}]
[{"name":"风向(act.)","id":"WD","device":"weather","timestamp":1553783876925,"scanDateStr":"2019-03-28 14:37:56","value":122.6,"interval":10},{"name":"风速(act.)","id":"WS","unit":"m/s","device":"weather","timestamp":1553783876925,"scanDateStr":"2019-03-28 14:37:56","value":1.4,"interval":10}]
[{"name":"风向(act.)","id":"WD","device":"weather","timestamp":1553783887103,"scanDateStr":"2019-03-28 14:38:07","value":132.8,"interval":10},{"name":"风速(act.)","id":"WS","unit":"m/s","device":"weather","timestamp":1553783887103,"scanDateStr":"2019-03-28 14:38:07","value":1.4,"interval":20}]
[{"name":"风向(act.)","id":"WD","device":"weather","timestamp":1553783897281,"scanDateStr":"2019-03-28 14:38:17","value":122.2,"interval":10},{"name":"风速(act.)","id":"WS","unit":"m/s","device":"weather","timestamp":1553783897281,"scanDateStr":"2019-03-28 14:38:17","value":2.7,"interval":31}]

二、编写Python脚本

# -*- coding: utf-8 -*-

import json
import pandas as pd

data = [] # 用于存储每一行的Json数据
with open('./data/temp2.txt','r', encoding = 'UTF-8') as fr:
    for line in fr:
        j = json.loads(line)
        data.append(j)

df = pd.DataFrame() # 最后转换得到的结果
for line in data:
    for i in line:
        df1 = pd.DataFrame([i])
        df = df.append(df1)

# 在excel表格的第1列写入, 不写入index
df.to_excel('data.xlsx', sheet_name='Data', startcol=0, index=False)

运行结果中data变量是这样子的:
在这里插入图片描述

三、最后转换得到的excel表

在这里插入图片描述


python实现jsonexcel

import json

import xlwt

a = json.load(open("haha.json", encoding='utf8'))
title = list(set([j for i in a for j in i]))
book = xlwt.Workbook()
sheet = book.add_sheet('Sheet1', cell_overwrite_ok=True)  # 添加一个sheet页
for i in range(len(title)):  # 循环列
    sheet.write(0, i, title[i])  # 将title数组中的字段写入到0行i列中
for i, it in enumerate(a):
    for j, k in enumerate(title):
        sheet.write(1 + i, j, it[k])
book.save('haha.xls')
  • 6
    点赞
  • 35
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
### 回答1: 您好!要将JSON数据写入Excel,您可以使用Python的以下步骤: 1. 使用Python的内置JSON库将JSON数据加载到Python对象中。 2. 使用Python的第三方Excel库,如openpyxl、xlwt、xlrd等来创建一个Excel文件或打开现有的Excel文件。 3. 将Python对象中的数据按照您需要的格式写入Excel文件中。 以下是一个使用openpyxl库将JSON数据写入Excel文件的示例代码: ```python import json from openpyxl import Workbook # 加载JSON数据 json_data = '{"name": "Alice", "age": 25, "hobbies": ["reading", "swimming"]}' # 将JSON数据转换为Python对象 python_data = json.loads(json_data) # 创建一个新的Excel文件 workbook = Workbook() # 获取工作表 sheet = workbook.active # 将数据写入Excel row = 1 for key, value in python_data.items(): sheet.cell(row=row, column=1, value=key) if isinstance(value, list): value = ", ".join(value) sheet.cell(row=row, column=2, value=value) row += 1 # 保存Excel文件 workbook.save("data.xlsx") ``` 在此示例中,我们首先加载了一个JSON字符串,然后使用json.loads()函数将其转换为Python对象。接下来,我们使用openpyxl库创建了一个新的Excel文件,并获取了默认的工作表。然后,我们将Python对象中的数据按照所需的格式写入Excel文件中,并使用workbook.save()方法保存Excel文件。 ### 回答2: Python中通过使用json库来解析json数据类型,同时我们也可以使用pandas库将数据以xlsx文件的形式输出到Excel中。 在Python中将json数据写入Excel,我们先需要将json数据类型转换为pandas DataFrame数据类型,然后使用to_excel方法将其输出为xlsx文件。 假定我们有一个包含json数据类型的列表,可以使用以下代码将数据转换为pandas DataFrame: ``` import pandas as pd import json # 假定数据保存在sample.json文件中 with open('sample.json', 'r') as f: data = json.load(f) # 将json数据转换为pandas DataFrame df = pd.DataFrame(data) ``` 接下来,我们可以使用pandas的to_excel方法将数据输出到Excel文件中。我们需要指定输出的文件名及所在的目录。其他参数,例如sheet_name定义了sheet名称、index定义了是否输出行索引等,也可以根据需求进行设置。 ``` # 输出到输出到excel文件中 df.to_excel('output.xlsx', sheet_name='Sheet1', index=False) ``` 以上就是将json数据写入Excel的简单实现。需要注意的是,如果json数据比较复杂或包含嵌套结构,可能需要进行一些额外的处理。 总的来说,Python拥有强大的解析和处理json数据类型的能力,同时使用pandas库可以轻松将数据输出到Excel等格式中。这为我们处理数据提供了很大便利,使用Python可以有效地提升工作效率和准确性。 ### 回答3: Python是一种功能强大的编程语言,它可以将JSON数据写入Excel中。这是因为Python有一个称为openpyxl的库,它是Python中操作Excel文件的首选库之一。 要将JSON数据写入Excel,需要使用Python中的json和openpyxl模块。然后,你需要定义JSON文件的路径和Excel文件的路径。接下来,打开JSON文件并将其加载到Python中。最后,使用openpyxl来创建一个新的工作簿,在新的工作簿中创建工作表,并将数据写入工作表中。 以下是使用PythonJSON数据写入Excel的步骤: 1.导入必需的模块 首先,需要导入json和openpyxl模块。可以使用以下代码执行操作: ``` import json import openpyxl ``` 2.定义JSON文件和Excel文件的路径: 接下来,需要定义JSON文件和Excel文件的路径。可以使用以下代码: ``` json_file_path = "path/to/json/file.json" excel_file_path = "path/to/excel/file.xlsx" ``` 3.打开并加载JSON文件: 使用python中的open()函数打开JSON文件并使用json.load()方法加载它。 ``` with open(json_file_path, "r") as file: data = json.load(file) ``` 4.使用openpyxl模块创建工作簿和工作表: 使用openpyxl模块创建一个新的工作簿,并在新的工作簿中创建新的工作表。 ``` workbook = openpyxl.Workbook() sheet = workbook.active ``` 5.将数据写入Excel中: 现在,将JSON数据写入Excel中。可以使用for循环来遍历数据并将其写入表格中。可以使用以下代码: ``` row = 1 for item in data: sheet.cell(row=row, column=1).value = item['name'] sheet.cell(row=row, column=2).value = item['age'] sheet.cell(row=row, column=3).value = item['gender'] row += 1 ``` 6.保存Excel文件: 最后,要保存工作簿,可以使用以下代码保存Excel文件: ``` workbook.save(excel_file_path) ``` 这样就可以使用PythonJSON数据写入Excel中了。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值