А что значит разные книги в csv? Это же обычеый текстовый файл
Не всегда. В excel так уж точно
Это разные веши xlsx - это архив с xml файлами csv - это обычный текстовый файл
Хорошо. НО, есть файл csv хранящий в себе несколько книг. Если вы можете предоставить пример работы с xlsx на манер как сделано на скриншоте - буду благодарен. Необходимо считывать данные с excel и импортировать эти данные в таблицы БД
Сложно понять, что надо. Сначала хочется разобраться с форматом файла, а уже потом искать решение. Так что за файл csv или xlsx? Если csv, то код выглядит рабочим
Вот что делает данный код. Повторюсь, если данный функционал сможете реализовать или показать на примере xlsx - буду благодарен
Для работы с ексель файлами можно использовать https://openpyxl.readthedocs.io/en/stable/ Тут есть возможность переходить по Книгам и читать построчно wb = load_workbook(file_path) sheet = wb.active end_row = sheet.max_row end_col = sheet.max_column for i in range(end_row + 1): cell_values = [] for j in range(end_col + 1): cell = sheet.cell(row=i, column=j) cell_values.append(cell.value) Вот кусок накидал (нерабочий скорее всего) Тут еще нужен будет один цикл for чтобы переключать Книги
Спасибо, что натолкнули на мысль того, что по сути описание одинаковое для этих двух библиотек Реализовал на манер предыдущего способа без цикла по книгам. Но решил повторить ваш код (больно мне понравилось, что можно не прописывать каждое поле отдельно) Правда я не совсем понимаю как избавиться от необходимости каждое поле прописывать
так как в xlsx нельзя(или я не умею) читать построчно, то заведена переменная cell_values, которая создаётся на каждую строку. Во вложенном for она заполняется. И после выхода из вложенного for получается список всех значений из строки. И именно после выхода из вложенного for можно создать/соханить запись в бд
тут лучше использовать пастин какой нибудь или делать скриншоты, чтобы была видна нумерация строк. Так бывает легче показать в какой строке или после какой строки, что-то надо сделать
Обсуждают сегодня