Python 提取dict转换为xml/json/table并输出的实现代码

yipeiwu_com6年前Python基础

核心代码:

#!/usr/bin/python
#-*- coding:gbk -*-
#设置源文件输出格式
import sys
import getopt
import json
import createDict
import myConToXML
import myConToTable
 
 
def getRsDataToDict():
  #获取控制台中输入的参数,并根据参数找到源文件获取源数据
  csDict={}
  try:
    #通过getopt获取参数
    opts,args=getopt.getopt(sys.argv[1:],"",["output=","file=","query="])
    csDict=createDict.procParam(opts,args)
    return csDict
  except getopt.GetoptError:
    print getopt.error
    sys.exit()
 
def collectionToJson(contentTxt):
  #参数1表示python对象;参数2表示按照字典排序;参数3表示根据格式缩进显示
  jsoninfo = json.dumps(contentTxt,sort_keys=True,indent=2)
  print "JSON输出:"
  print type(jsoninfo)
  print jsoninfo
 
if __name__=="__main__":
  #输入参数格式为>python test.py output=json file=c:\..\input.txt query=Permission[0]
  inputParm=getRsDataToDict()
  if inputParm["query"]!=None:
    csDict=createDict.getQueryRs(inputParm["contentTxt"],inputParm["query"])
  else:
    csDict=inputParm["contentTxt"]
  output=inputParm["output"]
  if output=="json":
    collectionToJson(csDict)
  elif output=="xml":
    path='C:\\Users\\Vincent\\Documents\\MyTest1.xml'
    encod='utf8'
    myConToXML.getDictToXml(csDict,path,encod)
  elif output=="table":
    myConToTable.ContentToTable(csDict)

相关文章

python实现在一个画布上画多个子图

python实现在一个画布上画多个子图

matplotlib 是可以组合许多的小图, 放在一张大图里面显示的. 使用到的方法叫作 subplot. 均匀画图 使用import导入matplotlib.pyplot模块, 并简写...

利用python循环创建多个文件的方法

问题由来:把Excel中的每一行数据对应放一个txt文档中。 解答:用python往文件中写东西时候必须先用open('XXX.txt') 打开文件,但是在引号 " " 中无法使变量迭代...

python去掉字符串中重复字符的方法

复制代码 代码如下:If order does not matter, you can use "".join(set(foo))set() will create a set of u...

python如何读写csv数据

本文实例为大家分享了python读写csv数据的具体代码,供大家参考,具体内容如下 案例:        通过股票网站,我们...

django和vue实现数据交互的方法

我使用的是jQuery的ajax与django进行数据交互,遇到的问题是django的csrf 传输数据的方法如下: $(function() { $.ajax({ ur...