Преобразование нескольких листов Excel в CSV: различные методы, объясненные примерами кода

Преобразование файлов Excel (.xlsx) в формат CSV (значения, разделенные запятыми) — распространенная задача при обработке и анализе данных. При работе с файлами Excel, содержащими несколько листов, вам может потребоваться преобразовать каждый лист в отдельный файл CSV. В этой статье блога мы рассмотрим различные методы достижения этой цели с использованием разных языков программирования и библиотек, а также приведем примеры кода.

Метод 1: Python с библиотекой Pandas
Python с его мощными библиотеками манипулирования данными предлагает простой способ преобразования нескольких листов Excel в файлы CSV. Библиотека Pandas обеспечивает отличную поддержку чтения файлов Excel и экспорта данных в формат CSV.

import pandas as pd
# Read the Excel file
xlsx_file = pd.ExcelFile('input_file.xlsx')
# Iterate through each sheet
for sheet_name in xlsx_file.sheet_names:
    # Read the sheet into a DataFrame
    df = xlsx_file.parse(sheet_name)

    # Export the DataFrame to CSV
    csv_filename = f'{sheet_name}.csv'
    df.to_csv(csv_filename, index=False)

Метод 2: Python с библиотеками openpyxl и csv
Если вы предпочитаете использовать библиотеку openpyxl, которая обеспечивает больший контроль над операциями с файлами Excel, вы можете объединить ее с модулем csv для обработки файлов CSV.

import openpyxl
import csv
# Load the Excel workbook
workbook = openpyxl.load_workbook('input_file.xlsx')
# Iterate through each sheet
for sheet_name in workbook.sheetnames:
    # Select the current sheet
    sheet = workbook[sheet_name]

    # Create a CSV file
    csv_filename = f'{sheet_name}.csv'
    csv_file = open(csv_filename, 'w', newline='')
    csv_writer = csv.writer(csv_file)

    # Iterate through each row in the sheet
    for row in sheet.iter_rows():
        csv_writer.writerow([cell.value for cell in row])

    # Close the CSV file
    csv_file.close()

Метод 3: Python с библиотеками xlrd и csv
Если вы используете более старую версию Excel (формат.xls), вы можете использовать библиотеку xlrd вместе с модулем csv для преобразования нескольких листов в CSV.

import xlrd
import csv
# Open the Excel file
workbook = xlrd.open_workbook('input_file.xls')
# Iterate through each sheet
for sheet_name in workbook.sheet_names():
    # Select the current sheet
    sheet = workbook.sheet_by_name(sheet_name)

    # Create a CSV file
    csv_filename = f'{sheet_name}.csv'
    csv_file = open(csv_filename, 'w', newline='')
    csv_writer = csv.writer(csv_file)

    # Iterate through each row in the sheet
    for row_idx in range(sheet.nrows):
        csv_writer.writerow(sheet.row_values(row_idx))

    # Close the CSV file
    csv_file.close()

Преобразование нескольких листов Excel в формат CSV можно выполнить с помощью различных языков программирования и библиотек. В этой статье мы рассмотрели три метода с использованием Python, используя такие библиотеки, как Pandas, openpyxl и xlrd, а также модуль csv. Эти методы обеспечивают гибкость и контроль над процессом преобразования, позволяя эффективно автоматизировать задачу. Выберите метод, который лучше всего соответствует вашим требованиям, и начните конвертировать файлы Excel в CSV без особых усилий.