python 将json数据提取转化为txt的方法

时间:2022-11-22 11:20:28

如下所示:

?
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
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
#-*- coding: UTF-8 -*-
import json
import pymysql
import os
import sys
# 数据类型
# {
#  "name": "score.networkQuality",
#  "index": true,
#  "view": "app/views/score/networkQuality.tmpl.html",
#  "files": ["app/modules/controllers/score/networkQualityCtrl.js"]
# },
name = []
index = []
views = []
files = []
# "name": "monitored.monitored",
with open('C:\\Users\\sxf\\Desktop\\app-modules.json') as f:
 for line in f:
  try:
   line.index("name")
   # line = line.strip('\n')
   pos = line.index(':')
   name.append(line[pos+3:len(line)-3])
  except ValueError:
   pass
  try:
   line.index("true")
   # line = line.strip('\n')
   pos = line.index(':')
   index.append((line[pos+2:len(line)-2]))
  except ValueError:
   pass
  try:
   line.index("view")
   try:
    line.index("name")
   except ValueError:
    pos = line.index(':')
    views.append(line[pos + 3:len(line) - 3])
  except ValueError:
   pass
  # ['app/modules/controllers/monitored/monitoredCtrl.js","app/modules/services/resources/resourcesService.j']
  try:
   line.index("files")
   # line = line.strip('\n')
   pos = line.index(":")
   try:
    i=0
    str1 = ""
    str2 = ""
    str3 = ""
    pos_comma = line.index(",")
    str = line.split(',')
    comma_count = line.count(',')
    while i<=comma_count:
     if i == 0:
      # str[0] = str[0].strip('\n')
      str1 = str[0][pos+4:len(str[0])-1]
     elif i == 1 :
      if comma_count == 1:
       # str[1] = str[1].strip('\n')
       str2 = str1+','+str[1][1:len(str[1])-3]
      else:
       str2 = str1 + ',' + str[1][1:len(str[1]) - 1]
     elif i == 2 :
      # str[2] = str[2].strip('\n')
      str3 = str2+','+str[2][1:len(str[2])-3]
     else:
      pass
     i = i + 1
    if (comma_count == 1):
     files.append(str2)
    elif (comma_count == 2):
     files.append(str3)
   except ValueError:
    # line = line.strip('\n')
    files.append(line[pos+4:len(line)-3])
    pass
  except ValueError:
   pass
 if os.path.exists("C:\\Users\\sxf\\Desktop\data.txt"):
  os.remove("C:\\Users\\sxf\\Desktop\data.txt")
 write_file = open("C:\\Users\\sxf\\Desktop\data.txt","a+")
 j=0
 while j< len(name):
  str_info = name[j]+"\t"+index[j]+"\t"+views[j]+"\t"+files[j]+"\n"
  write_file.write(str_info)
  j = j + 1

以上这篇python 将json数据提取转化为txt的方法就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持服务器之家。

原文链接:https://blog.csdn.net/sxf_123456/article/details/77371478