Chuyển đổi excel sang csv utf-8

Bạn chỉ cần cung cấp tệp Excel làm tham số đầu tiên, sau đó là các trang tính mà bạn muốn xuất. Nếu bạn không cung cấp các trang tính, tập lệnh sẽ xuất tất cả các trang tính có trong tệp Excel

#!/usr/bin/env python

# export data sheets from xlsx to csv

from openpyxl import load_workbook
import csv
from os import sys

reload(sys)
sys.setdefaultencoding('utf-8')

def get_all_sheets(excel_file):
    sheets = []
    workbook = load_workbook(excel_file,use_iterators=True,data_only=True)
    all_worksheets = workbook.get_sheet_names()
    for worksheet_name in all_worksheets:
        sheets.append(worksheet_name)
    return sheets

def csv_from_excel(excel_file, sheets):
    workbook = load_workbook(excel_file,use_iterators=True,data_only=True)
    for worksheet_name in sheets:
        print("Export " + worksheet_name + " ...")

        try:
            worksheet = workbook.get_sheet_by_name(worksheet_name)
        except KeyError:
            print("Could not find " + worksheet_name)
            sys.exit(1)

        your_csv_file = open(''.join([worksheet_name,'.csv']), 'wb')
        wr = csv.writer(your_csv_file, quoting=csv.QUOTE_ALL)
        for row in worksheet.iter_rows():
            lrow = []
            for cell in row:
                lrow.append(cell.value)
            wr.writerow(lrow)
        print(" .. done")
    your_csv_file.close()

if not 2 <= len(sys.argv) <= 3:
    print("Call with " + sys.argv[0] + "  [comma separated list of sheets to export]")
    sys.exit(1)
else:
    sheets = []
    if len(sys.argv) == 3:
        sheets = list(sys.argv[2].split(','))
    else:
        sheets = get_all_sheets(sys.argv[1])
    assert(sheets != None and len(sheets) > 0)
    csv_from_excel(sys.argv[1], sheets)

Nếu Excel chứa bất kỳ dấu ngoặc kép thông minh hoặc dữ liệu ngôn ngữ nào khác trong khi chuyển đổi nó từ Excel sang CSV, nó sẽ không chuyển đổi chính xác và nhận được các dấu chấm hỏi. Vì vậy, trong khi nhập dữ liệu, chúng tôi cũng nhận được những điều tương tự. Tuy nhiên, sử dụng Excel CSV UTF8 làm bảng mã, chúng ta có thể dễ dàng chọn định dạng tệp và ngôn ngữ

Mục lục

Mã hóa UTF8 là gì?

Unicode Biến đổi Định dạng là định dạng để chuyển đổi bất kỳ ký tự nào sang tiêu chuẩn Unicode có thể nhỏ gọn như ASCII

ASCII. Bộ luật tiêu chuẩn Mỹ về trao đổi thông tin

Các tệp định dạng CSV đã ở đó trong nhiều năm. Và tất cả những gì chúng ta biết chỉ là mức cơ bản của việc xuất và nhập dữ liệu. Nhưng bên cạnh đó, một số kỹ thuật tiên tiến cũng có. Ví dụ: dữ liệu có các ký tự đặc biệt cần một quy trình khác để chuyển đổi dữ liệu từ Excel sang CSV. Bài viết này sẽ hướng dẫn bạn cách xử lý các ký tự đặc biệt trong file Excel CSV, i. e. , CSV UTF8

Chuyển đổi excel sang csv utf-8

Bạn được tự do sử dụng hình ảnh này trên trang web, mẫu của mình, v.v. , Vui lòng cung cấp cho chúng tôi liên kết ghi công Làm cách nào để cung cấp ghi nhận tác giả?Liên kết bài viết được siêu liên kết
ví dụ
Nguồn. Excel CSV UTF8 (wallstreetmojo. com)

Bạn có thể tải xuống Mẫu Excel sang CSV UTF8 này tại đây –

Ví dụ về mã hóa UTF8 trong tệp CSV Excel

Ví dụ: hãy xem dữ liệu bên dưới trong trang tính Excel

Chuyển đổi excel sang csv utf-8

Đây là những tên trong tiếng Nhật và chúng tôi có nghĩa tiếng Anh phù hợp cho từng từ ở đây. Bây giờ hãy để chúng tôi chuyển đổi tệp sang định dạng CSV

Thực hiện theo các bước để chuyển đổi định dạng tệp Excel sang CSV

  1. Nhấp vào nút “Save As” hoặc nhấn phím tắt F12 trong Excel

  2. Chọn thư mục đích để lưu tệp dưới dạng tệp “CSV”


    Chuyển đổi excel sang csv utf-8

  3. Thay đổi loại tệp “Lưu dưới dạng” thành “CSV (được phân cách bằng dấu phẩy). ”


    Chuyển đổi excel sang csv utf-8

  4. Nhấp vào nút “Lưu” và dữ liệu của chúng tôi sẽ được lưu dưới dạng tệp “CSV”


    Chuyển đổi excel sang csv utf-8

    Với phần mở rộng của tệp, chúng ta có thể dễ dàng xem định dạng tệp

    Nhìn vào các tệp ở trên, chúng được đặt tên giống nhau, nhưng phần mở rộng tệp là “csv” và “. xlsm”, điều này cho thấy rằng cả hai định dạng tệp đều khác nhau

Bây giờ, hãy mở tệp CSV và xem những gì chúng tôi nhận được

Chuyển đổi excel sang csv utf-8

Nhìn vào các giá trị trong cột B và C (nơi chúng tôi có các từ tiếng Nhật), chúng tôi đã nhận được các dấu hỏi thay vì các từ thực tế và khi chúng tôi thử nhập dữ liệu vào excel, chúng tôi vẫn chỉ nhận được các dấu chấm hỏi

Vì vậy, đây là sự cố khi chuyển đổi dữ liệu ký tự đặc biệt sang tệp CSV. Để tránh điều này, chúng ta cần làm theo các quy trình khác nhau bên dưới quy trình

Lưu tệp dưới định dạng văn bản Unicode

Trước khi chúng tôi lưu dữ liệu ở định dạng tệp CSV, trước tiên chúng tôi cần lưu dữ liệu đó dưới dạng “Văn bản Unicode (*. txt),”, sau đó chuyển đổi nó thành tệp CSV, làm theo các bước bên dưới

Bước 1. Một lần nữa, chúng ta phải mở cửa sổ “Save As”, và lần này, chọn định dạng tệp là “Văn bản Unicode (*. txt)” định dạng

Chuyển đổi excel sang csv utf-8

Bước 2. Nhấp vào nút “Save” và nó sẽ lưu tệp ở định dạng “Unicode”

Chuyển đổi excel sang csv utf-8

Chúng tôi có ba tệp định dạng. “Excel,” “CSV,” và “Định dạng văn bản Unicode. ”

Bây giờ, hãy mở tệp “Văn bản Unicode” và xem dữ liệu trông như thế nào

Chuyển đổi excel sang csv utf-8

Dữ liệu trông giống như trong tệp văn bản

Chúng ta cần lưu tệp trên dưới dạng mã hóa của phương thức UTF-8 để lấy dữ liệu chính xác vào Excel. Vì vậy, bây giờ, hãy chèn dấu phân cách cho dữ liệu trên bằng cách thay thế các ký tự khoảng trắng. Sao chép ký tự khoảng trắng đầu tiên

Chuyển đổi excel sang csv utf-8

Bây giờ hãy mở “Tìm & Thay thế trong Excel” và thay thế khoảng trống đã sao chép bằng dấu phẩy (,)

Chuyển đổi excel sang csv utf-8

Nhấp vào “Thay thế tất cả. ” Dấu phẩy sẽ thay thế tất cả các ký tự khoảng trắng

Chuyển đổi excel sang csv utf-8

Bây giờ, hãy chọn tùy chọn "Lưu dưới dạng"

Chuyển đổi excel sang csv utf-8

Sau đó, thao tác này sẽ mở ra cửa sổ “Save As”. Trong cửa sổ đó, chọn tùy chọn “Mã hóa” là “UTF-8. ”

Chuyển đổi excel sang csv utf-8

Click vào nút “Save” để hoàn thành tùy chọn lưu

Chuyển đổi excel sang csv utf-8

Bây giờ, hãy thay đổi phần mở rộng của tệp từ “. txt” sang “. csv. ”

Chuyển đổi excel sang csv utf-8

Bây giờ hãy mở tệp CSV và chúng ta sẽ nhận được các từ tiếng Nhật chính xác thay vì dấu chấm hỏi

Chuyển đổi excel sang csv utf-8

Những điều cần ghi nhớ

  • UTF chuyển đổi các từ ký tự đặc biệt thông qua mã hóa
  • Lưu tệp dưới dạng “Unicode” trước khi chuyển đổi thành “CSV” và mã hóa thành “UTF-8. ”

Bài viết được đề xuất

Bài viết này đã được hướng dẫn về Excel CSV UTF8. Ở đây, chúng tôi thảo luận về việc chuyển đổi các ký tự đặc biệt bằng tệp CSV và các ví dụ thực tế. Bạn có thể tìm hiểu thêm về Excel từ các bài viết sau. –

Excel sử dụng mã hóa nào cho CSV?

Trong Windows, nếu bạn nhấp đúp vào tệp CSV, Microsoft Excel sẽ mở tệp đó bằng mã hóa tệp Windows-1252 .

Sự khác biệt giữa CSV và CSV UTF là gì

CSV đề cập đến loại tệp hoặc cách dữ liệu được định dạng và UTF-8 đề cập đến mã hóa ký tự đang được sử dụng . Chỉ CSV sẽ cho biết mã hóa không được xác định.