Форум сайта python.su
Доброго времени суток!
Подскажите пожалуйста начинающему программисту какими библиотеками воспользоватся чтобы скрипт делал следующее:
1. искал по всем папкам *.xml файлы
2. ставил в очередь найденный файл (или его путь)
3. парсил данные файлы
4. загружал спарсенные данные в *.txt-файл и в базу данных MySql одновременно
ЗАРАНЕЕ БЛАГОДАРЮ!!!
Офлайн
1,2- os.listdir(you_path)
3 - lxml ИМХО
4. https://stackoverflow.com/questions/4960048/python-3-and-mysql
Офлайн
vic57А как сделать так чтобы скрипт искал пока не откроет все под-папки
1,2- os.listdir(you_path)3
Офлайн
все гуглится за минуту
http://pythoner.name/walk
Офлайн
os.walk() + xml.etree.ElementTree()
Модуль lxml лучше, чем xml, но lxml надо устанавливать, тогда как xml есть изначально.
Отредактировано py.user.next (Окт. 31, 2017 00:48:35)
Офлайн
py.user.nextНе получается спарсить xml, объясните пожалуйста
os.walk() + xml.etree.ElementTree()Модуль lxml лучше, чем xml, но lxml надо устанавливать, тогда как xml есть изначально.
<interception-info interception_criteria="8" interception_filter="XXX" network_id="AAA" switch_start_time="2017-09-20T08:00:20.300" switch_end_time="2017-09-20T08:00:20.300" call_type="1" imsi="XXX" imei="XXX" msisdn="XXX" center="XXX" network_element_id="XXX" /> <switch-event event_id="199294759" event_time="2017-09-20T05:00:22.886" event_type="2" switch_event_sub_type="18" switch_time="2017-09-20T08:00:20.300" to_country="XXX" to_network="02" to_lac="2101" to_cellid="29754" to_cell="111-02-2101-555" to_network_element_id="XXX" /> <cell-coordinates coordinates_event_id="XXX" cell_id="111-02-2101-555" cell_name="TTT" event_time="2017-09-20T05:00:22.886" point_type="1" cell_coordinate_x="48.83586" cell_coordinate_y="76.97907" cell_beam="150" cell_format="0" cell_address="GGG" cell_descriptor="AAA ,ML_2101 ,ZZZ" coordinate_participant="1" />
Отредактировано philips2009 (Ноя. 1, 2017 08:43:43)
Офлайн
>>> import xml.etree.ElementTree as etree >>> >>> text = '<interception-info interception_criteria="8" interception_filter="XXX" network_id="AAA" switch_start_time="2017-09-20T08:00:20.300" switch_end_time="2017-09-20T08:00:20.300" call_type="1" imsi="XXX" imei="XXX" msisdn="XXX" center="XXX" network_element_id="XXX" />' >>> >>> doc = etree.fromstring(text) >>> doc <Element 'interception-info' at 0x7effacc52b88> >>> >>> lst = list(doc.attrib.items()) >>> lst [('interception_criteria', '8'), ('interception_filter', 'XXX'), ('network_id', 'AAA'), ('switch_start_time', '2017-09-20T08:00:20.300'), ('switch_end_time', '2017-09-20T08:00:20.300'), ('call_type', '1'), ('imsi', 'XXX'), ('imei', 'XXX'), ('msisdn', 'XXX'), ('center', 'XXX'), ('network_element_id', 'XXX')] >>>
Офлайн
py.user.nextFile “parser.py”, line 4, in <module>
Офлайн
Что-то не то делаешь. Прикрепи parser.py к сообщению.
Офлайн
py.user.next
Что-то не то делаешь. Прикрепи parser.py к сообщению.
import xml.etree.ElementTree as etree text = open('123.xml', encoding = 'utf8') doc = etree.fromstring(text) lst = list(doc.attrib.items()) print(lst)
Отредактировано philips2009 (Ноя. 2, 2017 01:04:02)
Офлайн