Làm cách nào để lưu tệp csv dưới dạng xlsx trong python?

Có nhiều loại tệp phổ biến mà bạn sẽ cần phải làm việc với tư cách là nhà phát triển phần mềm. Một định dạng như vậy là tệp CSV. CSV là viết tắt của "Các giá trị được phân tách bằng dấu phẩy" và là định dạng tệp văn bản sử dụng dấu phẩy làm dấu phân cách để phân tách các giá trị với nhau. Mỗi hàng là bản ghi riêng của nó và mỗi giá trị là trường riêng của nó. Hầu hết các tệp CSV đều có các bản ghi có cùng độ dài

Microsoft Excel mở tệp CSV mà không gặp sự cố. Bạn có thể tự mở bằng Excel và sau đó tự lưu nó ở định dạng Excel. Mục đích của bài viết này là dạy cho bạn các khái niệm sau

  • Chuyển đổi tệp CSV sang Excel
  • Chuyển đổi bảng tính Excel sang CSV

Bạn sẽ sử dụng Python và OpenPyXL để thực hiện chuyển đổi từ loại tệp này sang loại tệp khác

Bắt đầu

Bạn cần cài đặt OpenPyXL để có thể sử dụng các ví dụ trong bài viết này. Bạn có thể sử dụng pip để cài đặt OpenPyXL

python3 -m pip install openpyxl

Bây giờ bạn đã có OpenPyXL, bạn đã sẵn sàng tìm hiểu cách chuyển đổi tệp CSV thành bảng tính Excel

Chuyển đổi tệp CSV sang Excel

Bạn sẽ sớm thấy rằng việc chuyển đổi tệp CSV sang bảng tính Excel không cần nhiều mã. Tuy nhiên, bạn cần phải có tệp CSV để bắt đầu. Với ý nghĩ đó, hãy mở trình soạn thảo văn bản yêu thích của bạn [Notepad, Sublime Text hoặc thứ gì đó khác] và thêm phần sau

book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081

Lưu tệp này dưới dạng sách. txt. Bạn cũng có thể tải xuống tệp CSV từ kho lưu trữ mã GitHub của cuốn sách này

Bây giờ bạn đã có tệp CSV, bạn cũng cần tạo một tệp Python mới. Mở IDE Python của bạn và tạo một tệp mới có tên

book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081
8. Sau đó nhập mã sau

# csv_to_excel.py

import csv
import openpyxl


def csv_to_excel[csv_file, excel_file]:
    csv_data = []
    with open[csv_file] as file_obj:
        reader = csv.reader[file_obj]
        for row in reader:
            csv_data.append[row]

    workbook = openpyxl.Workbook[]
    sheet = workbook.active
    for row in csv_data:
        sheet.append[row]
    workbook.save[excel_file]


if __name__ == "__main__":
    csv_to_excel["books.csv", "books.xlsx"]

Mã của bạn sử dụng mô-đun

book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081
9 của Python ngoài OpenPyXL. Bạn tạo một hàm,
# csv_to_excel.py

import csv
import openpyxl


def csv_to_excel[csv_file, excel_file]:
    csv_data = []
    with open[csv_file] as file_obj:
        reader = csv.reader[file_obj]
        for row in reader:
            csv_data.append[row]

    workbook = openpyxl.Workbook[]
    sheet = workbook.active
    for row in csv_data:
        sheet.append[row]
    workbook.save[excel_file]


if __name__ == "__main__":
    csv_to_excel["books.csv", "books.xlsx"]
0, sau đó chấp nhận hai đối số

  • # csv_to_excel.py
    
    import csv
    import openpyxl
    
    
    def csv_to_excel[csv_file, excel_file]:
        csv_data = []
        with open[csv_file] as file_obj:
            reader = csv.reader[file_obj]
            for row in reader:
                csv_data.append[row]
    
        workbook = openpyxl.Workbook[]
        sheet = workbook.active
        for row in csv_data:
            sheet.append[row]
        workbook.save[excel_file]
    
    
    if __name__ == "__main__":
        csv_to_excel["books.csv", "books.xlsx"]
    
    1 - Đường dẫn đến tệp CSV đầu vào
  • # csv_to_excel.py
    
    import csv
    import openpyxl
    
    
    def csv_to_excel[csv_file, excel_file]:
        csv_data = []
        with open[csv_file] as file_obj:
            reader = csv.reader[file_obj]
            for row in reader:
                csv_data.append[row]
    
        workbook = openpyxl.Workbook[]
        sheet = workbook.active
        for row in csv_data:
            sheet.append[row]
        workbook.save[excel_file]
    
    
    if __name__ == "__main__":
        csv_to_excel["books.csv", "books.xlsx"]
    
    2 - Đường dẫn đến file Excel muốn tạo

Bạn muốn trích xuất từng hàng dữ liệu từ CSV. Để trích xuất dữ liệu, bạn tạo một đối tượng

# csv_to_excel.py

import csv
import openpyxl


def csv_to_excel[csv_file, excel_file]:
    csv_data = []
    with open[csv_file] as file_obj:
        reader = csv.reader[file_obj]
        for row in reader:
            csv_data.append[row]

    workbook = openpyxl.Workbook[]
    sheet = workbook.active
    for row in csv_data:
        sheet.append[row]
    workbook.save[excel_file]


if __name__ == "__main__":
    csv_to_excel["books.csv", "books.xlsx"]
3 rồi lặp lại trên một hàng tại một thời điểm. Đối với mỗi lần lặp lại, bạn nối thêm hàng vào
book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081
0. Một
book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081
1 là một danh sách các chuỗi

Bước tiếp theo của quy trình là tạo bảng tính Excel. Để thêm dữ liệu vào

book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081
2 của bạn, bạn lặp qua từng hàng trong
book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081
0 và
book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081
4 chúng vào Trang tính của bạn. Cuối cùng, bạn lưu bảng tính Excel

Khi bạn chạy mã này, bạn sẽ có một bảng tính Excel trông như thế này

Bảng tính CSV sang Excel

Giờ đây, bạn có thể chuyển đổi tệp CSV sang bảng tính Excel trong vòng chưa đến 25 dòng mã

Bây giờ bạn đã sẵn sàng tìm hiểu cách chuyển đổi bảng tính Excel thành tệp CSV

Chuyển đổi Bảng tính Excel sang CSV

Chuyển đổi bảng tính Excel thành tệp CSV có thể hữu ích nếu bạn cần các quy trình khác để sử dụng dữ liệu. Một nhu cầu tiềm ẩn khác đối với tệp CSV là khi bạn cần chia sẻ bảng tính Excel của mình với người không có chương trình bảng tính để mở tệp đó. Trong khi hiếm, điều này có thể xảy ra

Bạn có thể chuyển đổi bảng tính Excel thành tệp CSV bằng Python. Tạo một tệp mới có tên

book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081
5 và thêm đoạn mã sau

# excel_to_csv.py

import csv
import openpyxl

from openpyxl import load_workbook


def excel_to_csv[excel_file, csv_file]:
    workbook = load_workbook[filename=excel_file]
    sheet = workbook.active
    csv_data = []
    
    # Read data from Excel
    for value in sheet.iter_rows[values_only=True]:
        csv_data.append[list[value]]

    # Write to CSV
    with open[csv_file, 'w'] as csv_file_obj:
        writer = csv.writer[csv_file_obj, delimiter=',']
        for line in csv_data:
            writer.writerow[line]


if __name__ == "__main__":
    excel_to_csv["books.xlsx", "new_books.csv"]

Một lần nữa, bạn chỉ cần các mô-đun

book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081
9 và
book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081
7 để thực hiện chuyển đổi. Lần này, bạn tải bảng tính Excel trước và lặp lại Bảng tính bằng phương pháp
book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081
8.
book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081
9 bạn nhận được trong mỗi lần lặp lại của
# csv_to_excel.py

import csv
import openpyxl


def csv_to_excel[csv_file, excel_file]:
    csv_data = []
    with open[csv_file] as file_obj:
        reader = csv.reader[file_obj]
        for row in reader:
            csv_data.append[row]

    workbook = openpyxl.Workbook[]
    sheet = workbook.active
    for row in csv_data:
        sheet.append[row]
    workbook.save[excel_file]


if __name__ == "__main__":
    csv_to_excel["books.csv", "books.xlsx"]
0 là một danh sách các chuỗi. Bạn nối thêm danh sách các chuỗi vào
book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081
0

Bước tiếp theo là tạo một

# csv_to_excel.py

import csv
import openpyxl


def csv_to_excel[csv_file, excel_file]:
    csv_data = []
    with open[csv_file] as file_obj:
        reader = csv.reader[file_obj]
        for row in reader:
            csv_data.append[row]

    workbook = openpyxl.Workbook[]
    sheet = workbook.active
    for row in csv_data:
        sheet.append[row]
    workbook.save[excel_file]


if __name__ == "__main__":
    csv_to_excel["books.csv", "books.xlsx"]
2. Sau đó, bạn lặp lại từng danh sách chuỗi trong
book_title,author,publisher,pub_date,isbn
Python 101,Mike Driscoll, Mike Driscoll,2020,123456789
wxPython Recipes,Mike Driscoll,Apress,2018,978-1-4842-3237-8
Python Interviews,Mike Driscoll,Packt Publishing,2018,9781788399081
0 và gọi
# csv_to_excel.py

import csv
import openpyxl


def csv_to_excel[csv_file, excel_file]:
    csv_data = []
    with open[csv_file] as file_obj:
        reader = csv.reader[file_obj]
        for row in reader:
            csv_data.append[row]

    workbook = openpyxl.Workbook[]
    sheet = workbook.active
    for row in csv_data:
        sheet.append[row]
    workbook.save[excel_file]


if __name__ == "__main__":
    csv_to_excel["books.csv", "books.xlsx"]
4 để thêm nó vào tệp CSV của bạn

Khi mã của bạn kết thúc, bạn sẽ có một tệp CSV hoàn toàn mới

kết thúc

Chuyển đổi tệp CSV sang bảng tính Excel rất dễ thực hiện với Python. Đó là một công cụ hữu ích mà bạn có thể sử dụng để lấy dữ liệu từ khách hàng hoặc các nguồn dữ liệu khác và biến nó thành thứ mà bạn có thể trình bày cho công ty của mình

Bạn cũng có thể áp dụng kiểu dáng ô cho dữ liệu khi bạn ghi nó vào Trang tính của mình. Bằng cách áp dụng kiểu dáng ô, bạn có thể làm nổi bật dữ liệu của mình bằng các phông chữ hoặc màu nền khác nhau của hàng

Hãy dùng thử mã này trên các tệp Excel hoặc CSV của riêng bạn và xem bạn có thể làm gì

đọc liên quan

Bạn có muốn tìm hiểu thêm về cách xử lý bảng tính Excel bằng Python không?

Làm thế nào để chuyển đổi một thư mục đầy. tệp CSV vào. Tệp XLSX bằng Python?

Các bước chuyển đổi CSV sang Excel bằng Python .
Bước 1. Cài đặt gói Pandas. Nếu bạn chưa làm như vậy, hãy cài đặt gói Pandas. .
Bước 2. Chụp đường dẫn lưu trữ tệp CSV. .
Bước 3. Chỉ định đường dẫn nơi tệp Excel mới sẽ được lưu trữ. .
Bước 4. Chuyển đổi CSV sang Excel bằng Python

Làm cách nào để chuyển đổi CSV sang Excel bằng Python mà không cần gấu trúc?

Lưu CSV dưới dạng XLS bằng Python .
Tạo một đối tượng của lớp LoadOptions và khởi tạo nó với FileFormatType. CSV
Tạo một đối tượng của lớp Workbook và khởi tạo nó với đường dẫn của tệp CSV và đối tượng LoadOptions
Chuyển đổi CSV sang Excel bằng Workbook. lưu [Chuỗi, SaveFormat. phương pháp XLSX]

Bạn có thể sử dụng XLSX bằng Python không?

XlsxWriter là mô-đun Python để ghi tệp ở định dạng tệp XLSX . Nó có thể được sử dụng để viết văn bản, số và công thức vào nhiều trang tính. Ngoài ra, nó hỗ trợ các tính năng như định dạng, hình ảnh, biểu đồ, thiết lập trang, bộ lọc tự động, định dạng có điều kiện và nhiều tính năng khác.

Chủ Đề