我对python的csv阅读器有问题。问题是我想打开并读取不同的csv文件,但他总是读同一个。在
from csv import reader
alphabet = ["a", "b", "c"]
for letter in alphabet:
csv_file = open('/home/desktop/csv/' + letter + '.csv', 'r')
csv_data = reader(csv_file)
问题是他似乎打开了其他文件,但他总是继续读第一个文件。在
有没有办法“清理”读卡器或让他读另一个文件?我甚至试图关闭csv文件,但没用。在
完整的代码是这样的
^{pr2}$他打开了“爱迪莉西亚.csv“并编译”EDILIZIA.xml文件,那么他应该打开“伊甸园”-档案.csv“并编译它的xml,但当他阅读时,他继续阅读”爱迪莉西亚.csv““
这是你需要的.csv文件。在
如果你想让它先读爱迪莉西亚.csv然后伊迪尔-档案.csv他会一直使用爱迪莉西亚.csv但他应该先打开爱迪莉西亚.csv,编译EDILIZIA.xml文件,然后读这篇文章-档案.csv并编写EDILE-存档.xml. 在
如果您查看最后的xml,您将看到EDILE-存档.xml将只显示爱迪莉西亚.csv还有伊迪尔-档案.csv在
我想我可能已经找到你问题的原因了。在
corsi
列表中的第二项以句号结尾。这意味着您将查找几乎不存在的文件“EDILE-ARCHIT..csv
”。当您尝试打开文件时,open()
调用将引发异常,程序将终止。在尝试删除尾随的句号,然后重新运行它。在
花了很长时间才弄清楚你在这里做什么。说实话,你的代码一团糟——有许多未使用的变量和行根本没有意义。无论如何,您的代码每次都会读取相应的csv文件,因此错误并不是您认为的那样。在
如果我是对的,
orario.csv
包含三个学期或三年的每门课程的时间表(存储在corsi
列表中),以及科索.csv文件包含存放受试者的房间。所以您需要将信息合并到一个XML文件中。在你只忘了一件事:继续
orario.csv
。您的代码希望将前三个anno与当前的corso
合并。要解决它,你必须做两个改变。在在这个
for
循环头中的第一个:修改为:
^{pr2}$当你分配
^{3}$lez
:修改为:
现在应该可以工作了。
这段代码生成的结果完全相同,但它使用Python的XML模块来构建输出文件:
干杯。在
相关问题 更多 >
编程相关推荐