Я новичок и учусь Python. Я работаю над файлами XML (5,754 файла) в папке. Работая с модулем os, я могу напечатать все имена файлов без проблем. Я могу разобрать один файл и записать в файл CSV без проблем. У меня проблема с попыткой разобрать все файлы в папке. Пожалуйста, помогите и спасибо. фрагменты кода и весь приведенный ниже код.
Это прекрасно работает и печатает все 5 754 имен файлов
import os
for path, dirs, files in os.walk(r"C:\Users\dan\Desktop\parse"):
for f in files:
clinical = os.path.join(path, f)
print(clinical)
ВЫХОД: C: \ Users \ dan \ Desktop \ toparse \ ABC0000xxxx \ AB C 00009932. xml C: \ Users \ dan \ Desktop \ toparse \ AB C 0000xxxx \ AB C 00009945. xml C: \ Users \ dan \ Desktop \ toparse \ AB C 0000xxxx \ AB C 00009958. xml
Разбор рабочего кода: запись в CSV
import csv
import xml.etree.ElementTree as ET
import os
tree = ET.parse("ABC00000102.xml")
root = tree.getroot()
with open('names.csv', 'w', newline='') as csv_file:
writer = csv.writer(csv_file)
for child in root.iter():
key = child.tag
value = child.text
writer.writerow([key, value])
мой код для папки печатает все файлы, но с ошибками ниже кода
import csv
import xml.etree.ElementTree as ET
import os
with open('names.csv', 'w', newline='') as csv_file:
writer = csv.writer(csv_file)
for path, dirs, files in os.walk(r"C:\Users\dan\Desktop\parse"):
for f in files:
clinical = os.path.join(path, f)
print(clinical)
tree = ET.parse("clinical")
root = tree.getroot()
for child in root.iter():
key = child.tag
value = child.text
writer.writerow([key, value])
ошибки Traceback (последний вызов был последним): файл "C: / Users / dan / PycharmProjects / clins / example.py", строка 14, в дереве = файл ET.parse ("Clinical") "C: \ Users \ dan \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ xml \ etree \ ElementTree.py", строка 1197, в файле parse tree.parse (источник, анализатор) "C: \ Users \ dan \ AppData \ Local \ Programs \ Python \ Python37-32 \ lib \ xml \ etree \ ElementTree.py ", строка 587, в разборе source = open (source," rb ") FileNotFoundError: [Errno 2 ] Нет такого файла или каталога: «клинический» Proc ess завершен с кодом выхода 1