У меня есть скрипт на python, который я использую для анализа моих xml-файлов один за другим, я запускаю его с командным файлом в Windows CMD.Мой script.py
выглядит так:
from lxml import etree as ET
import pandas as pd
import numpy as np
#Read one xml file of Dedcoded directory
tree = ET.parse('C:/Users/sky/Documents/title_file.xml')
root = tree.getroot()
CODE = [ ]
for errors in root.findall('.//Data/Record/Field[11]/BitField'):
error = errors.find('Name').text
error_code = errors.find('RawValue').text
if error_code is not None:
CODE.append(error_code)
dftest = pd.DataFrame(CODE, columns=['Error_Code'])
dftest['I_F_Name'] = root.find('./Header/InitialFileName').text
dftest['AC_prog'] = root.find('./Header/ACProgram').text
dftest['Standard'] = root.find('./Header/Standard').text
dftest.to_csv('sh_test.csv', mode='w', header=True, index=False)
Он отлично работает для одного XML-файла, но у меня много XML-файлов, и я хочу обрабатывать их один за другим автоматически.Для этого я добавляю for loop
в свой file.bat
, и когда я запускаю его на CMD, он несколько раз обрабатывает один и тот же файл, который указан в script.py
.Вот мой пакетный скрипт:
@echo of
for /R C:/Users/sky/Documents %%f in (*.xml) do C:\ProgramData\Anaconda2\python.exe C:/Users/sky/Documents/script.py %*
pause
Я не знаю, что мне следует изменить в моем script.py
или file.bat
, чтобы обрабатывать все мои файлы один за другим?
Есть идеи?Спасибо