Использование Python для создания и парсинга файлов Excel

GetCoder.ru
Изображение статьи

Используйте Python для создания и обработки файлов Excel: создание и парсинг данных для удобной работы с информацией.

В современном мире обработка данных играет ключевую роль во многих областях, включая разработку программного обеспечения, анализ данных и научные исследования. Формат Excel является одним из наиболее распространенных способов хранения и обмена данными. В этой статье мы рассмотрим, как использовать Python для создания файлов Excel из массива данных и обратного преобразования Excel в массив данных.

  • copy
from openpyxl import Workbook from openpyxl import load_workbook class Report: # Генерация xlsx файла на основе массива данных def generating_report(self, mData): try: wb = Workbook() ws = wb.active rowLine = 1 for i in range(0, len(mData['title'])): ws.cell(row=rowLine, column=i + 1, value=mData['title'][i]) for x in range(0, len(mData['data'])): elemData = mData['data'][x] for c in range(0, len(elemData)): ws.cell(row=rowLine + 1, column=c + 1, value=elemData[c]) rowLine = rowLine + 1 wb.save(mData['nameFile']+'.xlsx') result = True except Exception as e: result = False return result # Парсинг xlsx файла def parsing_report(self, namefile): try: result = {} workbook = load_workbook(namefile) for x in range(0, len(workbook.get_sheet_names())): sheet = workbook.get_sheet_names()[x] worksheet = workbook.get_sheet_by_name(sheet) result[str(sheet)] = [] for row in worksheet.iter_rows(): line = [] for cell in row: line.append(cell.value) result[str(sheet)].append(line) except Exception as e: result = False return result if __name__ == '__main__': mData = {} mData['nameFile'] = 'report_test' mData['title'] = ['Город', 'ФИО', 'Дата рождения', 'Пол'] mData['data'] = [ ['Москва', 'Иванов Иван Иванович', '10.06.1990', 'Муж'], ['Москва', 'Иванов Петр Иванович', '10.06.1991', 'Муж'], ['Москва', 'Иванов Сергей Иванович', '10.06.1992', 'Муж'] ] pr = Report() # Генерация answer = pr.generating_report(mData) # Парсинг #answer = pr.parsing_report('report_test.xlsx')

Установка openpyxl

Перед тем как начать работу, убедитесь, что у вас установлен модуль openpyxl. Вы можете установить его с помощью pip:

  • copy
pip install openpyxl

Создание файла Excel из массива данных

Метод generating_report класса Report принимает массив данных mData и создает файл Excel на основе этого массива. Массив mData содержит ключи 'nameFile', 'title' и 'data', где 'nameFile' - это имя создаваемого файла, 'title' - заголовки столбцов, а 'data' - собственно данные для заполнения в файле Excel.

Парсинг файла Excel

Метод parsing_report класса Report принимает имя файла Excel и парсит его, возвращая массив данных. После выполнения метода, вы получите следующий вывод:

  • copy
{ 'Sheet': [ ['Город', 'ФИО', 'Дата рождения', 'Пол'], ['Москва', 'Иванов Иван Иванович', '10.06.1970', 'Муж'], ['Москва', 'Иванов Петр Иванович', '10.06.1971', 'Муж'], ['Москва', 'Иванов Сергей Иванович', '10.06.1972', 'Муж'] ] }

Таким образом, вы увидите, что данные успешно прочитаны из файла Excel и представлены в виде массива данных в Python.

Заключение

Этот пример демонстрирует, как использовать Python для создания файлов Excel из массива данных и обратного преобразования Excel в массив данных, что может быть полезно во многих сценариях разработки и анализа данных.

  • 17.03.2024
  • 46
  • 0

Использование Python для создания и парсинга файлов Excel

В современном мире обработка данных играет ключевую роль во многих областях, включая разработку программного обеспечения, анализ данных и научные исследования. Формат Excel является одним из наиболее распространенных способов хранения и обмена данными. В этой статье мы рассмотрим, как использовать Python для создания файлов Excel из массива данных и обратного преобразования Excel в массив данных.

  • copy
from openpyxl import Workbook from openpyxl import load_workbook class Report: # Генерация xlsx файла на основе массива данных def generating_report(self, mData): try: wb = Workbook() ws = wb.active rowLine = 1 for i in range(0, len(mData['title'])): ws.cell(row=rowLine, column=i + 1, value=mData['title'][i]) for x in range(0, len(mData['data'])): elemData = mData['data'][x] for c in range(0, len(elemData)): ws.cell(row=rowLine + 1, column=c + 1, value=elemData[c]) rowLine = rowLine + 1 wb.save(mData['nameFile']+'.xlsx') result = True except Exception as e: result = False return result # Парсинг xlsx файла def parsing_report(self, namefile): try: result = {} workbook = load_workbook(namefile) for x in range(0, len(workbook.get_sheet_names())): sheet = workbook.get_sheet_names()[x] worksheet = workbook.get_sheet_by_name(sheet) result[str(sheet)] = [] for row in worksheet.iter_rows(): line = [] for cell in row: line.append(cell.value) result[str(sheet)].append(line) except Exception as e: result = False return result if __name__ == '__main__': mData = {} mData['nameFile'] = 'report_test' mData['title'] = ['Город', 'ФИО', 'Дата рождения', 'Пол'] mData['data'] = [ ['Москва', 'Иванов Иван Иванович', '10.06.1990', 'Муж'], ['Москва', 'Иванов Петр Иванович', '10.06.1991', 'Муж'], ['Москва', 'Иванов Сергей Иванович', '10.06.1992', 'Муж'] ] pr = Report() # Генерация answer = pr.generating_report(mData) # Парсинг #answer = pr.parsing_report('report_test.xlsx')

Установка openpyxl

Перед тем как начать работу, убедитесь, что у вас установлен модуль openpyxl. Вы можете установить его с помощью pip:

  • copy
pip install openpyxl

Создание файла Excel из массива данных

Метод generating_report класса Report принимает массив данных mData и создает файл Excel на основе этого массива. Массив mData содержит ключи 'nameFile', 'title' и 'data', где 'nameFile' - это имя создаваемого файла, 'title' - заголовки столбцов, а 'data' - собственно данные для заполнения в файле Excel.

Парсинг файла Excel

Метод parsing_report класса Report принимает имя файла Excel и парсит его, возвращая массив данных. После выполнения метода, вы получите следующий вывод:

  • copy
{ 'Sheet': [ ['Город', 'ФИО', 'Дата рождения', 'Пол'], ['Москва', 'Иванов Иван Иванович', '10.06.1970', 'Муж'], ['Москва', 'Иванов Петр Иванович', '10.06.1971', 'Муж'], ['Москва', 'Иванов Сергей Иванович', '10.06.1972', 'Муж'] ] }

Таким образом, вы увидите, что данные успешно прочитаны из файла Excel и представлены в виде массива данных в Python.

Заключение

Этот пример демонстрирует, как использовать Python для создания файлов Excel из массива данных и обратного преобразования Excel в массив данных, что может быть полезно во многих сценариях разработки и анализа данных.