Форум сайта python.su
0
Всем привет, появилась задача распарсить большое колл-во xml файлов и данные залить в БД.
Проблема в том, что питон ругается TypeError: cannot parse from ‘list’.
Помогите пожалуйста.
Код:
import os from lxml import etree path = 'C:/Users/xxx/Desktop/python/python-parsing/data' filename = os.listdir(path) tree = etree.parse(filename) test = tree.xpath('///p[@name="bName"]') print ("".join(test))
Офлайн
857
Неправильно получаешь путь к файлу. Сначала введи его напрямую, всё отладь на одном файле (сделай функцию обработки одного файла, которая принимает путь к файлу и возвращает результат его обработки), а потом уже делай получение файлов по очереди.
Офлайн
27
Novichok1. В filename получаешь список файлов без путей
filename = os.listdir(path)
import glob for filenm in glob.glob('C:/Users/xxx/Desktop/python/python-parsing/data/*.xml'): # glob.glob выдаст полные имена только *.xml из указанной папки. # Сюда вызов функции парсинга, получение от этой функции данных и запись в БД
Офлайн