数据
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 | [ { "name":"flten", "category":"com", "count":1, "location":"上海", "time":"2020-7-2" }, { "name":"flten", "category":"com", "count":1, "location":"上海", "time":"2020-7-2" }, { "name":"flten", "category":"com", "count":1, "location":"上海", "time":"2020-7-2" }, { "name":"flten", "category":"com", "count":1, "location":"上海", "time":"2020-7-2" }, { "name":"flten", "category":"com", "count":1, "location":"上海", "time":"2020-7-2" }, { "name":"flten", "category":"com", "count":1, "location":"上海", "time":"2020-7-2" }, { "name":"flten", "category":"com", "count":1, "location":"上海", "time":"2020-7-2" }, { "name":"flten", "category":"com", "count":1, "location":"上海", "time":"2020-7-2" } ] |
代码
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 | import json import tablib # json.text文件的格式: [{"a":1},{"a":2},{"a":3},{"a":4},{"a":5}] # 获取json数据 with open('json.txt', 'r',encoding='utf-8') as f: rows = json.load(f) # print(rows) # 将json中的key作为header, 也可以自定义header(列名) header=tuple([ i for i in rows[0].keys()]) # print('header',header) data = [] # 循环里面的字典,将value作为数据写入进去 for row in rows: body = [] for v in row.values(): body.append(v) data.append(tuple(body)) # print('data',data) data = tablib.Dataset(*data,headers=header) print('data',data) open('data.xlsx', 'wb').write(data.xlsx) |
过程中报错
原因
只装了pip install tablib ;导致安装tablib库 不全面
解决
1 | pip install tablib[all] |