Конвертер csv в xlsx

Вот пример кода конвертера CSV в XLSX с использованием Tkinter для диалоговых окон:

import tkinter as tk
from tkinter import filedialog, messagebox
import csv
from openpyxl import Workbook

def convert_csv_to_xlsx():
    # Создаем скрытое основное окно
    root = tk.Tk()
    root.withdraw()

    # Выбор CSV файла
    csv_file_path = filedialog.askopenfilename(
        title="Выберите CSV файл",
        filetypes=[("CSV files", "*.csv"), ("Все файлы", "*.*")]
    )

    if not csv_file_path:
        messagebox.showwarning("Ошибка", "Файл не выбран!")
        return

    # Выбор места сохранения XLSX
    xlsx_file_path = filedialog.asksaveasfilename(
        title="Сохранить как XLSX",
        defaultextension=".xlsx",
        filetypes=[("Excel files", "*.xlsx"), ("Все файлы", "*.*")]
    )

    if not xlsx_file_path:
        messagebox.showwarning("Ошибка", "Путь сохранения не указан!")
        return

    try:
        # Создаем новую книгу Excel
        wb = Workbook()
        ws = wb.active

        # Читаем CSV и записываем в XLSX
        with open(csv_file_path, 'r', encoding='utf-8') as csv_file:
            csv_reader = csv.reader(csv_file)
            for row in csv_reader:
                ws.append(row)

        # Сохраняем файл
        wb.save(xlsx_file_path)
        messagebox.showinfo("Успех", f"Файл успешно сохранен как:\n{xlsx_file_path}")

    except Exception as e:
        messagebox.showerror("Ошибка", f"Произошла ошибка:\n{str(e)}")

if __name__ == "__main__":
    convert_csv_to_xlsx()

Для работы этого кода вам понадобятся следующие библиотеки:
— openpyxl (для работы с Excel файлами)
— tkinter (обычно входит в стандартную поставку Python)

Установите необходимые зависимости:

pip install openpyxl

Особенности этого конвертера:
1. Использует стандартные диалоговые окна Windows
2. Поддерживает выбор любого CSV файла
3. Позволяет указать место сохранения и имя для XLSX файла
4. Сохраняет форматирование данных
5. Выводит информационные сообщения об успехе или ошибках
6. Автоматически определяет кодировку UTF-8

Для использования:
1. Запустите скрипт
2. Выберите исходный CSV файл
3. Укажите путь и имя для сохранения XLSX файла
4. Нажмите «Сохранить»
5. Результат будет сохранен в указанную локацию

Примечание: Если ваш CSV файл использует другую кодировку (например, cp1251), измените параметр encoding в строке open(csv_file_path, 'r', encoding='utf-8') на нужную кодировку.

Рейтинг
( Пока оценок нет )
Добавить комментарий

;-) :| :x :twisted: :smile: :shock: :sad: :roll: :razz: :oops: :o :mrgreen: :lol: :idea: :grin: :evil: :cry: :cool: :arrow: :???: :?: :!: