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


Используйте Python для создания и обработки файлов Excel: создание и парсинг данных для удобной работы с информацией.
В современном мире обработка данных играет ключевую роль во многих областях, включая разработку программного обеспечения, анализ данных и научные исследования. Формат Excel является одним из наиболее распространенных способов хранения и обмена данными. В этой статье мы рассмотрим, как использовать Python для создания файлов Excel из массива данных и обратного преобразования Excel в массив данных.
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:
pip install openpyxl
Создание файла Excel из массива данных
Метод generating_report класса Report принимает массив данных mData и создает файл Excel на основе этого массива. Массив mData содержит ключи 'nameFile', 'title' и 'data', где 'nameFile' - это имя создаваемого файла, 'title' - заголовки столбцов, а 'data' - собственно данные для заполнения в файле Excel.
Парсинг файла Excel
Метод parsing_report класса Report принимает имя файла Excel и парсит его, возвращая массив данных. После выполнения метода, вы получите следующий вывод:
{
'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 в массив данных.
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:
pip install openpyxl
Создание файла Excel из массива данных
Метод generating_report класса Report принимает массив данных mData и создает файл Excel на основе этого массива. Массив mData содержит ключи 'nameFile', 'title' и 'data', где 'nameFile' - это имя создаваемого файла, 'title' - заголовки столбцов, а 'data' - собственно данные для заполнения в файле Excel.
Парсинг файла Excel
Метод parsing_report класса Report принимает имя файла Excel и парсит его, возвращая массив данных. После выполнения метода, вы получите следующий вывод:
{
'Sheet': [
['Город', 'ФИО', 'Дата рождения', 'Пол'],
['Москва', 'Иванов Иван Иванович', '10.06.1970', 'Муж'],
['Москва', 'Иванов Петр Иванович', '10.06.1971', 'Муж'],
['Москва', 'Иванов Сергей Иванович', '10.06.1972', 'Муж']
]
}
Таким образом, вы увидите, что данные успешно прочитаны из файла Excel и представлены в виде массива данных в Python.
Заключение
Этот пример демонстрирует, как использовать Python для создания файлов Excel из массива данных и обратного преобразования Excel в массив данных, что может быть полезно во многих сценариях разработки и анализа данных.