Уведомления

Группа в Telegram: @pythonsu
  • Начало
  • » Python для новичков
  • » ПОМОГИТЕ - Скрипт для поиска и парсинга *.xml файлов которые находятся в папках и под-папках [RSS Feed]

#1 Окт. 30, 2017 18:58:20

philips2009
Зарегистрирован: 2017-05-09
Сообщения: 45
Репутация: +  0  -
Профиль   Отправить e-mail  

ПОМОГИТЕ - Скрипт для поиска и парсинга *.xml файлов которые находятся в папках и под-папках

Доброго времени суток!
Подскажите пожалуйста начинающему программисту какими библиотеками воспользоватся чтобы скрипт делал следующее:
1. искал по всем папкам *.xml файлы
2. ставил в очередь найденный файл (или его путь)
3. парсил данные файлы
4. загружал спарсенные данные в *.txt-файл и в базу данных MySql одновременно

ЗАРАНЕЕ БЛАГОДАРЮ!!!

Офлайн

#2 Окт. 30, 2017 19:28:59

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

ПОМОГИТЕ - Скрипт для поиска и парсинга *.xml файлов которые находятся в папках и под-папках

1,2- os.listdir(you_path)
3 - lxml ИМХО
4.  https://stackoverflow.com/questions/4960048/python-3-and-mysql

Офлайн

#3 Окт. 30, 2017 20:04:44

philips2009
Зарегистрирован: 2017-05-09
Сообщения: 45
Репутация: +  0  -
Профиль   Отправить e-mail  

ПОМОГИТЕ - Скрипт для поиска и парсинга *.xml файлов которые находятся в папках и под-папках

vic57
1,2- os.listdir(you_path)3
А как сделать так чтобы скрипт искал пока не откроет все под-папки

Офлайн

#4 Окт. 30, 2017 22:24:56

vic57
Зарегистрирован: 2015-07-07
Сообщения: 913
Репутация: +  127  -
Профиль  

ПОМОГИТЕ - Скрипт для поиска и парсинга *.xml файлов которые находятся в папках и под-папках

все гуглится за минуту
http://pythoner.name/walk

Офлайн

#5 Окт. 31, 2017 00:47:38

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

ПОМОГИТЕ - Скрипт для поиска и парсинга *.xml файлов которые находятся в папках и под-папках

os.walk() + xml.etree.ElementTree()

Модуль lxml лучше, чем xml, но lxml надо устанавливать, тогда как xml есть изначально.



Отредактировано py.user.next (Окт. 31, 2017 00:48:35)

Офлайн

#6 Ноя. 1, 2017 08:42:33

philips2009
Зарегистрирован: 2017-05-09
Сообщения: 45
Репутация: +  0  -
Профиль   Отправить e-mail  

ПОМОГИТЕ - Скрипт для поиска и парсинга *.xml файлов которые находятся в папках и под-папках

py.user.next
os.walk() + xml.etree.ElementTree()Модуль lxml лучше, чем xml, но lxml надо устанавливать, тогда как xml есть изначально.
Не получается спарсить 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)

Офлайн

#7 Ноя. 1, 2017 09:15:15

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

ПОМОГИТЕ - Скрипт для поиска и парсинга *.xml файлов которые находятся в папках и под-папках

  
>>> 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')]
>>> 



Офлайн

#8 Ноя. 2, 2017 00:41:20

philips2009
Зарегистрирован: 2017-05-09
Сообщения: 45
Репутация: +  0  -
Профиль   Отправить e-mail  

ПОМОГИТЕ - Скрипт для поиска и парсинга *.xml файлов которые находятся в папках и под-папках

py.user.next
File “parser.py”, line 4, in <module>
doc = etree.fromstring(text)
File “/usr/lib/python3.5/xml/etree/ElementTree.py”, line 1344, in XML
parser.feed(text)
TypeError: a bytes-like object is required, not ‘_io.TextIOWrapper’

Офлайн

#9 Ноя. 2, 2017 00:54:00

py.user.next
От:
Зарегистрирован: 2010-04-29
Сообщения: 10003
Репутация: +  857  -
Профиль   Отправить e-mail  

ПОМОГИТЕ - Скрипт для поиска и парсинга *.xml файлов которые находятся в папках и под-папках

Что-то не то делаешь. Прикрепи parser.py к сообщению.



Офлайн

#10 Ноя. 2, 2017 01:03:36

philips2009
Зарегистрирован: 2017-05-09
Сообщения: 45
Репутация: +  0  -
Профиль   Отправить e-mail  

ПОМОГИТЕ - Скрипт для поиска и парсинга *.xml файлов которые находятся в папках и под-папках

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)

Офлайн

  • Начало
  • » Python для новичков
  • » ПОМОГИТЕ - Скрипт для поиска и парсинга *.xml файлов которые находятся в папках и под-папках[RSS Feed]

Board footer

Модераторировать

Powered by DjangoBB

Lo-Fi Version