我知道这个问题是多余的,但我尝试了我找到的所有Python代码,并修改了我的文件,但它们都没有起作用。我需要找到一种方法将我的文件dataset/tournagesdefilmsparis2011" rel="nofollow">myData.csv转换为一个可以被导航器读取的XML格式文件。在
我这个月才开始学Python,所以我是个初学者。这是我的代码:
#! usr/bin/python
# -*- coding: utf-8 -*-
import csv, sys, os
from lxml import etree
csvFile = 'myData.csv' # création de la variable pour le fichier csv
reader= csv.reader(open(csvFile), delimiter=';', quoting=csv.QUOTE_NONE) # création d'une variable reader à qui on renvoie le tableau csv
print "<data>"
for record in reader:
if reader.line_num == 1:
header = record
else:
innerXml = ""
dontShow = False
type = ""
for i, field in enumerate(record):
innerXml += "<%s>" % header[i].lower() + field + "</%s>" % header[i].lower()
if i == 1 and field == "0":
type = "Next"
elif type == "" and i == 3 and field == "0":
type = "Next"
elif type == "" and i == 3 and field != "0":
type = "film"
if i == 1 and field == "X":
dontShow = True
if dontShow == False:
xml = "<%s>" % type
xml += innerXml
xml += "</%s>" % type
print xml
print "</data>"
(作为答案发布,以便我可以显示代码块)
在编写XML时,有很多挑剔的细节。在Python中,您可能应该使用ElementTree的某个版本来帮助实现这一点。一个好的教程是Creating XML Documents。引用:
如果您将此作为如何创建XML元素树的示例,您应该能够将代码转换为所需的XML结构。在
考虑用专用的DOM对象构建XML,而不是使用
lxml
模块来连接字符串。使用Element()
、SubElement()
等方法,可以通过读取CSV数据迭代构建XML树:输出
^{pr2}$相关问题 更多 >
编程相关推荐