我需要一些幫助。基本上,我必須創建一個函數來讀取一個CSV文件,然後我必須將這些數據傳輸到另一個函數來使用這些數據來生成一個XML文件。 這裏是我的代碼:在Python中將CSV數據轉換爲不同的函數
import csv
from xml.etree.ElementTree import Element, SubElement, Comment, tostring
from xml.etree.ElementTree import ElementTree
import xml.etree.ElementTree as etree
def read_csv():
with open ('1250_12.csv', 'r') as data:
reader = csv.reader(data)
return reader
def generate_xml(reader):
root = Element('Solution')
root.set('version','1.0')
tree = ElementTree(root)
head = SubElement(root, 'DrillHoles')
head.set('total_holes', '238')
description = SubElement(head,'description')
current_group = None
i = 0
for row in reader:
if i > 0:
x1,y1,z1,x2,y2,z2,cost = row
if current_group is None or i != current_group.text:
current_group = SubElement(description, 'hole',{'hole_id':"%s"%i})
information = SubElement (current_group, 'hole',{'collar':', '.join((x1,y1,z1)),
'toe':', '.join((x2,y2,z2)),
'cost': cost})
i+=1
def main():
reader = read_csv()
generate_xml(reader)
if __name__=='__main__':
main()
,但我得到一個錯誤,當我試圖通過閱讀器,錯誤是:ValueError異常:在關閉的文件
請重新訪問代碼中的縮進。至少最後一行縮進不正確。 – Elazar