import pyexcel
# Get the data
new_list = [[1, 2, 3], [4, 5, 6], [7, 8, 9]]
# Save the array to a file
pyexcel.save_as[array=new_list, dest_file_name="array_data.xls"]
# Retrieve the records of the file
# records = pyexcel.get_records[file_name="test.xls"]
# Get an array from the data
# my_array = pyexcel.get_array[file_name="test.xls"]
# Get your data in a dictionary of 2D arrays
# 2d_array_dictionary = pyexcel.get_book_dict[file_name="test.xls"]
# The data
# 2d_array_dictionary = {'Sheet 1': [
['ID', 'AGE', 'SCORE']
[1, 22, 5],
[2, 15, 6],
[3, 28, 9]
],
'Sheet 2': [
['X', 'Y', 'Z'],
[1, 2, 3],
[4, 5, 6]
[7, 8, 9]
],
'Sheet 3': [
['M', 'N', 'O', 'P'],
[10, 11, 12, 13],
[14, 15, 16, 17]
[18, 19, 20, 21]
]}
# Save the data to a file
# pyexcel.save_book_as[bookdict=2d_array_dictionary, dest_file_name="2d_array_data.xls"]
Các phần sau đây giải thích cách viết các loại dữ liệu khác nhau vào bảng tính Excel bằng XLSXWRITER.
Viết dữ liệu vào một ô bảng tính
Phương pháp
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]8
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]9 là phương tiện phổ biến nhất để viết dữ liệu Python cho các ô dựa trên loại của nó:
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]
Phương pháp
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]9 sử dụng
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]1 của dữ liệu để xác định phương pháp cụ thể nào để sử dụng để viết dữ liệu. Các phương pháp này sau đó ánh xạ một số loại Python cơ bản đến các loại Excel tương ứng. Ánh xạ như sau:
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]2 | Con số | import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]9, import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]4 |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]5 | & nbsp; | & nbsp; |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]6 | & nbsp; | & nbsp; |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]6 | & nbsp; | & nbsp; |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]6 | & nbsp; | & nbsp; |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]6 | import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]7 | import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]8 |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]9 | & nbsp; | & nbsp; |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]6 | & nbsp; | & nbsp; |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]6 | import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]7 | import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]8 |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]9 | Con số | import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]9, import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]4 |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]5 | & nbsp; | & nbsp; |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]6 | & nbsp; | & nbsp; |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]6 | & nbsp; | & nbsp; |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]6 | import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]7 | import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]8 |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]9
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]2 | Con số | import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]9, import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]4 |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]5 | & nbsp; | import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]6 |
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]7Writing user defined types section below.
import xlsxwriter
workbook = xlsxwriter.Workbook['write_list.xlsx']
worksheet = workbook.add_worksheet[]
my_list = [1, 2, 3, 4, 5]
for row_num, data in enumerate[my_list]:
worksheet.write[row_num, 0, data]
workbook.close[]
8
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]9
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]
Sợi dây
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for col_num, data in enumerate[my_list]: worksheet.write[0, col_num, data] workbook.close[]
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]9,
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for col_num, data in enumerate[my_list]: worksheet.write[0, col_num, data] workbook.close[]1
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [[1, 1, 1, 1, 1], [2, 2, 2, 2, 1], [3, 3, 3, 3, 1], [4, 4, 4, 4, 1], [5, 5, 5, 5, 1]] for row_num, row_data in enumerate[my_list]: for col_num, col_data in enumerate[row_data]: worksheet.write[row_num, col_num, col_data] workbook.close[]
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for col_num, data in enumerate[my_list]: worksheet.write[0, col_num, data] workbook.close[]2worksheet class has two utility functions called
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] worksheet.write_row[0, 1, my_list] worksheet.write_column[1, 0, my_list] workbook.close[]3 and
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] worksheet.write_row[0, 1, my_list] worksheet.write_column[1, 0, my_list] workbook.close[]4 which are basically a loop around the
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]9 method:
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] worksheet.write_row[0, 1, my_list] worksheet.write_column[1, 0, my_list] workbook.close[]
import xlsxwriter
workbook = xlsxwriter.Workbook['write_list.xlsx']
worksheet = workbook.add_worksheet[]
my_list = [1, 2, 3, 4, 5]
for col_num, data in enumerate[my_list]:
worksheet.write[0, col_num, data]
workbook.close[]
3
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for col_num, data in enumerate[my_list]: worksheet.write[0, col_num, data] workbook.close[]4
import xlsxwriter workbook = xlsxwriter.Workbook['write_dict.xlsx'] worksheet = workbook.add_worksheet[] my_dict = {'Bob': [10, 11, 12], 'Ann': [20, 21, 22], 'May': [30, 31, 32]} col_num = 0 for key, value in my_dict.items[]: worksheet.write[0, col_num, key] worksheet.write_column[1, col_num, value] col_num += 1 workbook.close[]
Viết DataFrames
Cách tốt nhất để đối phó với các khung dữ liệu hoặc cấu trúc dữ liệu phức tạp là sử dụng gấu trúc Python. Pandas là một thư viện phân tích dữ liệu Python. Nó có thể đọc, lọc và sắp xếp lại các bộ dữ liệu nhỏ và lớn và xuất chúng theo một loạt các định dạng bao gồm Excel.
Để sử dụng xlsxwriter với gấu trúc, bạn chỉ định nó là công cụ viết Excel:
import pandas as pd # Create a Pandas dataframe from the data. df = pd.DataFrame[{'Data': [10, 20, 30, 20, 15, 30, 45]}] # Create a Pandas Excel writer using XlsxWriter as the engine. writer = pd.ExcelWriter['pandas_simple.xlsx', engine='xlsxwriter'] # Convert the dataframe to an XlsxWriter Excel object. df.to_excel[writer, sheet_name='Sheet1'] # Close the Pandas Excel writer and output the Excel file. writer.save[]
Đầu ra từ điều này sẽ giống như sau:
Để biết thêm thông tin về việc sử dụng gấu trúc với xlsxwriter, hãy xem làm việc với Python Pandas và XLSXWRITER.Working with Python Pandas and XlsxWriter.
Viết các loại do người dùng xác định
Như được hiển thị trong phần đầu tiên ở trên, phương thức bảng tính
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]9 ánh xạ các loại dữ liệu Python chính thành các loại dữ liệu Excel. Nếu bạn muốn viết một loại không được hỗ trợ thì bạn có thể tránh
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]9 và ánh xạ loại người dùng trong mã của bạn lên một trong các phương thức ghi cụ thể hơn hoặc bạn có thể mở rộng nó bằng phương thức
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] worksheet.write_row[0, 1, my_list] worksheet.write_column[1, 0, my_list] workbook.close[]8. Đôi khi, điều này có thể thuận tiện hơn sau đó thêm rất nhiều logic nếu/khác vào mã của bạn.
Ví dụ, giả sử bạn muốn sửa đổi
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]9 để tự động viết các loại
import xlsxwriter workbook = xlsxwriter.Workbook['write_dict.xlsx'] worksheet = workbook.add_worksheet[] my_dict = {'Bob': [10, 11, 12], 'Ann': [20, 21, 22], 'May': [30, 31, 32]} col_num = 0 for key, value in my_dict.items[]: worksheet.write[0, col_num, key] worksheet.write_column[1, col_num, value] col_num += 1 workbook.close[]0 dưới dạng chuỗi. Bạn sẽ bắt đầu bằng cách tạo một hàm lấy UUID, chuyển đổi nó thành một chuỗi và sau đó ghi nó bằng cách sử dụng
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for col_num, data in enumerate[my_list]: worksheet.write[0, col_num, data] workbook.close[]1:
def write_uuid[worksheet, row, col, uuid, format=None]: return worksheet.write_string[row, col, str[uuid], format]
Sau đó, bạn có thể thêm một trình xử lý phù hợp với loại
import xlsxwriter workbook = xlsxwriter.Workbook['write_dict.xlsx'] worksheet = workbook.add_worksheet[] my_dict = {'Bob': [10, 11, 12], 'Ann': [20, 21, 22], 'May': [30, 31, 32]} col_num = 0 for key, value in my_dict.items[]: worksheet.write[0, col_num, key] worksheet.write_column[1, col_num, value] col_num += 1 workbook.close[]0 và gọi chức năng do người dùng của bạn xác định:
# match, action[] worksheet.add_write_handler[uuid.UUID, write_uuid]
Sau đó, bạn có thể sử dụng
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]9 mà không cần sửa đổi thêm:
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]0
Có thể thêm nhiều chức năng gọi lại bằng cách sử dụng
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] worksheet.write_row[0, 1, my_list] worksheet.write_column[1, 0, my_list] workbook.close[]8 nhưng chỉ được phép một hành động gọi lại cho mỗi loại. Tuy nhiên, việc sử dụng cùng một chức năng gọi lại cho các loại khác nhau là hợp lệ:
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]1
Cách tính năng Viết Handler hoạt động
Phương thức
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]9 chủ yếu là một câu lệnh
import xlsxwriter workbook = xlsxwriter.Workbook['write_dict.xlsx'] worksheet = workbook.add_worksheet[] my_dict = {'Bob': [10, 11, 12], 'Ann': [20, 21, 22], 'May': [30, 31, 32]} col_num = 0 for key, value in my_dict.items[]: worksheet.write[0, col_num, key] worksheet.write_column[1, col_num, value] col_num += 1 workbook.close[]6 lớn kiểm tra
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for row_num, data in enumerate[my_list]: worksheet.write[row_num, 0, data] workbook.close[]1 của giá trị đầu vào và gọi phương thức bảng tính phù hợp để ghi dữ liệu. Phương pháp
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] worksheet.write_row[0, 1, my_list] worksheet.write_column[1, 0, my_list] workbook.close[]8 hoạt động bằng cách tiêm các kiểm tra loại bổ sung và các hành động được liên kết vào câu lệnh
import xlsxwriter workbook = xlsxwriter.Workbook['write_dict.xlsx'] worksheet = workbook.add_worksheet[] my_dict = {'Bob': [10, 11, 12], 'Ann': [20, 21, 22], 'May': [30, 31, 32]} col_num = 0 for key, value in my_dict.items[]: worksheet.write[0, col_num, key] worksheet.write_column[1, col_num, value] col_num += 1 workbook.close[]6 này.
Dưới đây là phiên bản đơn giản hóa của phương thức
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]9:
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]2
Cú pháp của các hàm xử lý ghi
Các chức năng được sử dụng trong phương thức
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] worksheet.write_row[0, 1, my_list] worksheet.write_column[1, 0, my_list] workbook.close[]8 phải có chữ ký/tham số phương thức sau:
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]3
Hàm sẽ được thông qua một phiên bản bảng tính, giá trị số nguyên
import pandas as pd # Create a Pandas dataframe from the data. df = pd.DataFrame[{'Data': [10, 20, 30, 20, 15, 30, 45]}] # Create a Pandas Excel writer using XlsxWriter as the engine. writer = pd.ExcelWriter['pandas_simple.xlsx', engine='xlsxwriter'] # Convert the dataframe to an XlsxWriter Excel object. df.to_excel[writer, sheet_name='Sheet1'] # Close the Pandas Excel writer and output the Excel file. writer.save[]2 và
import pandas as pd # Create a Pandas dataframe from the data. df = pd.DataFrame[{'Data': [10, 20, 30, 20, 15, 30, 45]}] # Create a Pandas Excel writer using XlsxWriter as the engine. writer = pd.ExcelWriter['pandas_simple.xlsx', engine='xlsxwriter'] # Convert the dataframe to an XlsxWriter Excel object. df.to_excel[writer, sheet_name='Sheet1'] # Close the Pandas Excel writer and output the Excel file. writer.save[]3,
import pandas as pd # Create a Pandas dataframe from the data. df = pd.DataFrame[{'Data': [10, 20, 30, 20, 15, 30, 45]}] # Create a Pandas Excel writer using XlsxWriter as the engine. writer = pd.ExcelWriter['pandas_simple.xlsx', engine='xlsxwriter'] # Convert the dataframe to an XlsxWriter Excel object. df.to_excel[writer, sheet_name='Sheet1'] # Close the Pandas Excel writer and output the Excel file. writer.save[]4 phù hợp với loại được thêm vào
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] worksheet.write_row[0, 1, my_list] worksheet.write_column[1, 0, my_list] workbook.close[]8 và một số tham số bổ sung. Thông thường [các] tham số bổ sung sẽ chỉ là một thể hiện định dạng ô. Tuy nhiên, nếu bạn cần xử lý các tham số bổ sung khác, chẳng hạn như các tham số được chuyển đến
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] worksheet.write_row[0, 1, my_list] worksheet.write_column[1, 0, my_list] workbook.close[]0 thì bạn có thể có khả năng xử lý chung hơn như thế này:worksheet instance, an integer
import pandas as pd # Create a Pandas dataframe from the data. df = pd.DataFrame[{'Data': [10, 20, 30, 20, 15, 30, 45]}] # Create a Pandas Excel writer using XlsxWriter as the engine. writer = pd.ExcelWriter['pandas_simple.xlsx', engine='xlsxwriter'] # Convert the dataframe to an XlsxWriter Excel object. df.to_excel[writer, sheet_name='Sheet1'] # Close the Pandas Excel writer and output the Excel file. writer.save[]2 and
import pandas as pd # Create a Pandas dataframe from the data. df = pd.DataFrame[{'Data': [10, 20, 30, 20, 15, 30, 45]}] # Create a Pandas Excel writer using XlsxWriter as the engine. writer = pd.ExcelWriter['pandas_simple.xlsx', engine='xlsxwriter'] # Convert the dataframe to an XlsxWriter Excel object. df.to_excel[writer, sheet_name='Sheet1'] # Close the Pandas Excel writer and output the Excel file. writer.save[]3 value, a
import pandas as pd # Create a Pandas dataframe from the data. df = pd.DataFrame[{'Data': [10, 20, 30, 20, 15, 30, 45]}] # Create a Pandas Excel writer using XlsxWriter as the engine. writer = pd.ExcelWriter['pandas_simple.xlsx', engine='xlsxwriter'] # Convert the dataframe to an XlsxWriter Excel object. df.to_excel[writer, sheet_name='Sheet1'] # Close the Pandas Excel writer and output the Excel file. writer.save[]4 that matches the type added to
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] worksheet.write_row[0, 1, my_list] worksheet.write_column[1, 0, my_list] workbook.close[]8 and some additional parameters. Usually the additional parameter[s] will only be a cell format instance. However, if you need to handle other additional parameters, such as those passed to
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] worksheet.write_row[0, 1, my_list] worksheet.write_column[1, 0, my_list] workbook.close[]0 then you can have more generic handling like this:
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]4
Lưu ý, bạn không phải xử lý rõ ràng các phạm vi ô kiểu
import pandas as pd # Create a Pandas dataframe from the data. df = pd.DataFrame[{'Data': [10, 20, 30, 20, 15, 30, 45]}] # Create a Pandas Excel writer using XlsxWriter as the engine. writer = pd.ExcelWriter['pandas_simple.xlsx', engine='xlsxwriter'] # Convert the dataframe to an XlsxWriter Excel object. df.to_excel[writer, sheet_name='Sheet1'] # Close the Pandas Excel writer and output the Excel file. writer.save[]7. Chúng sẽ được chuyển đổi thành giá trị hàng và cột trước khi chức năng của bạn được gọi.
Bạn cũng có thể sử dụng các tham số
import pandas as pd # Create a Pandas dataframe from the data. df = pd.DataFrame[{'Data': [10, 20, 30, 20, 15, 30, 45]}] # Create a Pandas Excel writer using XlsxWriter as the engine. writer = pd.ExcelWriter['pandas_simple.xlsx', engine='xlsxwriter'] # Convert the dataframe to an XlsxWriter Excel object. df.to_excel[writer, sheet_name='Sheet1'] # Close the Pandas Excel writer and output the Excel file. writer.save[]2 và
import pandas as pd # Create a Pandas dataframe from the data. df = pd.DataFrame[{'Data': [10, 20, 30, 20, 15, 30, 45]}] # Create a Pandas Excel writer using XlsxWriter as the engine. writer = pd.ExcelWriter['pandas_simple.xlsx', engine='xlsxwriter'] # Convert the dataframe to an XlsxWriter Excel object. df.to_excel[writer, sheet_name='Sheet1'] # Close the Pandas Excel writer and output the Excel file. writer.save[]3 để kiểm soát logic của hàm. Ví dụ, bạn muốn ẩn/thay thế mật khẩu người dùng bằng ‘**** khi viết dữ liệu chuỗi. Nếu dữ liệu của bạn được cấu trúc sao cho dữ liệu mật khẩu ở cột thứ hai, ngoài hàng tiêu đề, bạn có thể viết một hàm xử lý như thế này:
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]5
Giá trị trả về của các hàm xử lý ghi
Các chức năng được sử dụng trong phương thức
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] worksheet.write_row[0, 1, my_list] worksheet.write_column[1, 0, my_list] workbook.close[]8 sẽ trả về một trong các giá trị sau:
import xlsxwriter workbook = xlsxwriter.Workbook['write_list.xlsx'] worksheet = workbook.add_worksheet[] my_list = [1, 2, 3, 4, 5] for col_num, data in enumerate[my_list]: worksheet.write[0, col_num, data] workbook.close[]
4: Để chỉ ra rằng điều khiển là quay trở lại phương thức cha mẹimport xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]
9 để tiếp tục như bình thường. Điều này được sử dụng nếu logic chức năng xử lý của bạn quyết định rằng bạn không cần phải xử lý mã thông báo phù hợp.- Giá trị trả về của hàm
def write_uuid[worksheet, row, col, uuid, format=None]: return worksheet.write_string[row, col, str[uuid], format]
3 được gọi là. Đây thường là 0 không có lỗi và số âm cho lỗi. Điều này gây ra sự trở lại ngay lập tức từ phương thức gọiimport xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]
9 với giá trị trả về đã được chuyển trở lại.
Ví dụ: giả sử bạn muốn bỏ qua các giá trị
def write_uuid[worksheet, row, col, uuid, format=None]: return worksheet.write_string[row, col, str[uuid], format]5 trong dữ liệu của mình vì Excel không hỗ trợ họ. Bạn có thể tạo một chức năng xử lý như sau phù hợp với phao và đã viết một ô trống nếu đó là
def write_uuid[worksheet, row, col, uuid, format=None]: return worksheet.write_string[row, col, str[uuid], format]5 hoặc nếu không thì vừa trở lại
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]9 để tiếp tục như bình thường:
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]6
Nếu bạn muốn hoàn toàn giảm hoàn toàn các giá trị
def write_uuid[worksheet, row, col, uuid, format=None]: return worksheet.write_string[row, col, str[uuid], format]5 và không thêm bất kỳ định dạng nào vào ô, bạn có thể trả về 0, không có lỗi:
import xlsxwriter workbook = xlsxwriter.Workbook['write_data.xlsx'] worksheet = workbook.add_worksheet[] worksheet.write[0, 0, 1234] # Writes an int worksheet.write[1, 0, 1234.56] # Writes a float worksheet.write[2, 0, 'Hello'] # Writes a string worksheet.write[3, 0, None] # Writes None worksheet.write[4, 0, True] # Writes a bool workbook.close[]7