Преобразование файлов 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 без особых усилий.