Hướng dẫn what can python do in excel - Python có thể làm gì trong excel

Làm việc với bảng tính Excel

Excel là một ứng dụng bảng tính phổ biến và mạnh mẽ cho Windows. Mô -đun

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
6 cho phép các chương trình Python của bạn đọc và sửa đổi các tệp bảng tính Excel. Ví dụ: bạn có thể có nhiệm vụ nhàm chán là sao chép một số dữ liệu nhất định từ một bảng tính và dán nó vào một dữ liệu khác. Hoặc bạn có thể phải đi qua hàng ngàn hàng và chỉ chọn ra một số ít trong số chúng để thực hiện các chỉnh sửa nhỏ dựa trên một số tiêu chí. Hoặc bạn có thể phải xem qua hàng trăm bảng tính ngân sách của bộ phận, tìm kiếm bất kỳ bảng tính nào trong màu đỏ. Đây chính xác là loại nhiệm vụ bảng tính nhàm chán, không suy nghĩ mà Python có thể làm cho bạn.

Mặc dù Excel là phần mềm độc quyền từ Microsoft, nhưng có những lựa chọn thay thế miễn phí chạy trên Windows, OS X và Linux. Cả LibreOffice Calc và OpenOffice Calc đều hoạt động với định dạng tệp .xlsx Excel cho bảng tính, điều đó có nghĩa là mô -đun

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
6 cũng có thể hoạt động trên bảng tính từ các ứng dụng này. Bạn có thể tải xuống phần mềm từ https://www.libreoffice.org/ và http://www.openoffice.org/, tương ứng. Ngay cả khi bạn đã cài đặt Excel trên máy tính, bạn có thể thấy các chương trình này dễ sử dụng hơn. Tuy nhiên, các ảnh chụp màn hình trong chương này đều từ Excel 2010 trên Windows 7..xlsx file format for spreadsheets, which means the
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
6 module can work on spreadsheets from these applications as well. You can download the software from https://www.libreoffice.org/ and http://www.openoffice.org/, respectively. Even if you already have Excel installed on your computer, you may find these programs easier to use. The screenshots in this chapter, however, are all from Excel 2010 on Windows 7.

Tài liệu Excel

Đầu tiên, hãy để đi qua một số định nghĩa cơ bản: một tài liệu bảng tính Excel được gọi là sổ làm việc. Một sổ làm việc duy nhất được lưu trong một tệp với tiện ích mở rộng .xlsx. Mỗi sổ làm việc có thể chứa nhiều tờ (còn được gọi là bảng tính). Tờ người dùng hiện đang xem (hoặc được xem cuối cùng trước khi đóng Excel) được gọi là bảng hoạt động.workbook. A single workbook is saved in a file with the .xlsx extension. Each workbook can contain multiple sheets (also called worksheets). The sheet the user is currently viewing (or last viewed before closing Excel) is called the active sheet.

Mỗi tờ có các cột (được giải quyết bằng các chữ cái bắt đầu từ A) và các hàng (được giải quyết bằng các số bắt đầu từ 1). Một hộp ở một cột và hàng cụ thể được gọi là một ô. Mỗi ô có thể chứa một số hoặc giá trị văn bản. Lưới của các tế bào với dữ liệu tạo nên một tờ.columns (addressed by letters starting at A) and rows (addressed by numbers starting at 1). A box at a particular column and row is called a cell. Each cell can contain a number or text value. The grid of cells with data makes up a sheet.

Cài đặt mô -đun OpenPyXL

Python không đi kèm với openpyxl, vì vậy bạn sẽ phải cài đặt nó. Thực hiện theo các hướng dẫn để cài đặt các mô-đun bên thứ ba trong Phụ lục A; Tên của mô -đun là

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
6. Để kiểm tra xem nó có được cài đặt chính xác hay không, hãy nhập phần sau vào vỏ tương tác:

>>> import openpyxl

Nếu mô -đun được cài đặt chính xác, điều này sẽ không tạo ra thông báo lỗi. Hãy nhớ nhập mô -đun

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
6 trước khi chạy các ví dụ shell tương tác trong chương này hoặc bạn sẽ gặp lỗi
>>> sheet.cell(row=1, column=2)
<Cell Sheet1.B1>
>>> sheet.cell(row=1, column=2).value
'Apples'
>>> for i in range(1, 8, 2):
        print(i, sheet.cell(row=i, column=2).value)

1 Apples
3 Pears
5 Apples
7 Strawberries
0.

Cuốn sách này bao gồm phiên bản 2.3.3 của OpenPyXL, nhưng các phiên bản mới thường xuyên được phát hành bởi nhóm OpenPyXL. Mặc dù vậy, đừng lo lắng: Các phiên bản mới nên tương thích ngược với các hướng dẫn trong cuốn sách này khá lâu. Nếu bạn có phiên bản mới hơn và muốn xem những tính năng bổ sung nào có thể có sẵn cho bạn, bạn có thể xem tài liệu đầy đủ cho OpenPyXL tại http://openpyxl.readthedocs.org/.http://openpyxl.readthedocs.org/.

Đọc tài liệu Excel

Các ví dụ trong chương này sẽ sử dụng một bảng tính có tên là ví dụ.xlsx được lưu trữ trong thư mục gốc. Bạn có thể tự tạo bảng tính hoặc tải xuống từ http://nostarch.com/automatestuff/. Hình & NBSP; 12-1 hiển thị các tab cho ba bảng mặc định có tên Sheet1, Sheet2 và Sheet3 mà Excel tự động cung cấp cho các sổ làm việc mới. (Số lượng các bảng mặc định được tạo có thể khác nhau giữa các hệ điều hành và chương trình bảng tính.)example.xlsx stored in the root folder. You can either create the spreadsheet yourself or download it from http://nostarch.com/automatestuff/. Figure 12-1 shows the tabs for the three default sheets named Sheet1, Sheet2, and Sheet3 that Excel automatically provides for new workbooks. (The number of default sheets created may vary between operating systems and spreadsheet programs.)

Hướng dẫn what can python do in excel - Python có thể làm gì trong excel

Hình & nbsp; 12-1. & NBSP; Các tab cho một tờ giấy tập bài tập ở góc dưới bên trái của Excel.

Tờ 1 trong tệp ví dụ sẽ trông giống như bảng & nbsp; 12-1. .example.xlsx from the website, you should enter this data into the sheet yourself.)

Bảng & nbsp; 12-1. & Nbsp; bảng tính ví dụ.xlsxexample.xlsx Spreadsheet

 

Một

B

C

1

4/5/2015 1:34:02 PM

Táo

73

2

4/5/2015 3:41:23 AM

Quả anh đào

85

3

4/6/2015 12:46:51 PM

14

4

4/8/2015 8:59:43 AM

Những quả cam

52

5

4/10/2015 2:07:00 AM

Táo

152

6

4/5/2015 3:41:23 AM

Quả anh đào

23

7

4/6/2015 12:46:51 PM

98

4/8/2015 8:59:43 AM

Những quả cam

4/10/2015 2:07:00 AM

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>

4/10/2015 6:10:37 PM

Chuốiexample.xlsx needs to be in the current working directory in order for you to work with it. You can find out what the current working directory is by importing

>>> sheet.cell(row=1, column=2)
<Cell Sheet1.B1>
>>> sheet.cell(row=1, column=2).value
'Apples'
>>> for i in range(1, 8, 2):
        print(i, sheet.cell(row=i, column=2).value)

1 Apples
3 Pears
5 Apples
7 Strawberries
8 and using
>>> sheet.cell(row=1, column=2)
<Cell Sheet1.B1>
>>> sheet.cell(row=1, column=2).value
'Apples'
>>> for i in range(1, 8, 2):
        print(i, sheet.cell(row=i, column=2).value)

1 Apples
3 Pears
5 Apples
7 Strawberries
9, and you can change the current working directory using
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
0.

Nhận tờ từ sổ làm việc

Bạn có thể nhận được một danh sách tất cả các tên trang tính trong sổ làm việc bằng cách gọi phương thức

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
1. Nhập phần sau vào vỏ tương tác:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">

Mỗi tờ được biểu thị bằng một đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2 mà bạn có thể có được bằng cách chuyển chuỗi tên trang tính cho phương thức sổ làm việc
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
3. Cuối cùng, bạn có thể đọc biến thành viên
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
4 của đối tượng
>>> sheet.cell(row=1, column=2)
<Cell Sheet1.B1>
>>> sheet.cell(row=1, column=2).value
'Apples'
>>> for i in range(1, 8, 2):
        print(i, sheet.cell(row=i, column=2).value)

1 Apples
3 Pears
5 Apples
7 Strawberries
6 để có được bảng hoạt động của sổ làm việc. Tờ hoạt động là tờ mà trên đầu khi sổ làm việc được mở trong Excel. Khi bạn có đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2, bạn có thể lấy tên của nó từ thuộc tính
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
7.

Nhận các tế bào từ các tấm

Khi bạn có đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2, bạn có thể truy cập một đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 bằng tên của nó. Nhập phần sau vào vỏ tương tác:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73

Đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 có thuộc tính
>>> import openpyxl
>>> from openpyxl.cell import get_column_letter, column_index_from_string
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(900)
'AHP'
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> get_column_letter(sheet.max_column)
'C'
>>> column_index_from_string('A')
1
>>> column_index_from_string('AA')
27
1 chứa, không có gì đáng ngạc nhiên, giá trị được lưu trữ trong ô đó. Các đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 cũng có các thuộc tính
>>> import openpyxl
>>> from openpyxl.cell import get_column_letter, column_index_from_string
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(900)
'AHP'
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> get_column_letter(sheet.max_column)
'C'
>>> column_index_from_string('A')
1
>>> column_index_from_string('AA')
27
3,
>>> import openpyxl
>>> from openpyxl.cell import get_column_letter, column_index_from_string
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(900)
'AHP'
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> get_column_letter(sheet.max_column)
'C'
>>> column_index_from_string('A')
1
>>> column_index_from_string('AA')
27
4 và
>>> import openpyxl
>>> from openpyxl.cell import get_column_letter, column_index_from_string
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(900)
'AHP'
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> get_column_letter(sheet.max_column)
'C'
>>> column_index_from_string('A')
1
>>> column_index_from_string('AA')
27
5 cung cấp thông tin vị trí cho ô.

Ở đây, việc truy cập thuộc tính

>>> import openpyxl
>>> from openpyxl.cell import get_column_letter, column_index_from_string
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(900)
'AHP'
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> get_column_letter(sheet.max_column)
'C'
>>> column_index_from_string('A')
1
>>> column_index_from_string('AA')
27
1 của đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 của chúng tôi cho ô B1 cung cấp cho chúng tôi chuỗi
>>> import openpyxl
>>> from openpyxl.cell import get_column_letter, column_index_from_string
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(900)
'AHP'
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> get_column_letter(sheet.max_column)
'C'
>>> column_index_from_string('A')
1
>>> column_index_from_string('AA')
27
8. Thuộc tính
>>> import openpyxl
>>> from openpyxl.cell import get_column_letter, column_index_from_string
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(900)
'AHP'
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> get_column_letter(sheet.max_column)
'C'
>>> column_index_from_string('A')
1
>>> column_index_from_string('AA')
27
3 cung cấp cho chúng ta số nguyên
   >>> import openpyxl
   >>> wb = openpyxl.load_workbook('example.xlsx')
   >>> sheet = wb.get_sheet_by_name('Sheet1')
   >>> tuple(sheet['A1':'C3'])
   ((<Cell Sheet1.A1>, <Cell Sheet1.B1>, <Cell Sheet1.C1>), (<Cell Sheet1.A2>,
   <Cell Sheet1.B2>, <Cell Sheet1.C2>), (<Cell Sheet1.A3>, <Cell Sheet1.B3>,
   <Cell Sheet1.C3>))
❶ >>> for rowOfCellObjects in sheet['A1':'C3']:for cellObj in rowOfCellObjects:
               print(cellObj.coordinate, cellObj.value)
           print('--- END OF ROW ---')
   A1 2015-04-05 13:34:02
   B1 Apples
   C1 73
   --- END OF ROW ---
   A2 2015-04-05 03:41:23
   B2 Cherries
   C2 85
   --- END OF ROW ---
   A3 2015-04-06 12:46:51
   B3 Pears
   C3 14
   --- END OF ROW ---
0, thuộc tính
>>> import openpyxl
>>> from openpyxl.cell import get_column_letter, column_index_from_string
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(900)
'AHP'
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> get_column_letter(sheet.max_column)
'C'
>>> column_index_from_string('A')
1
>>> column_index_from_string('AA')
27
4 cung cấp cho chúng ta
   >>> import openpyxl
   >>> wb = openpyxl.load_workbook('example.xlsx')
   >>> sheet = wb.get_sheet_by_name('Sheet1')
   >>> tuple(sheet['A1':'C3'])
   ((<Cell Sheet1.A1>, <Cell Sheet1.B1>, <Cell Sheet1.C1>), (<Cell Sheet1.A2>,
   <Cell Sheet1.B2>, <Cell Sheet1.C2>), (<Cell Sheet1.A3>, <Cell Sheet1.B3>,
   <Cell Sheet1.C3>))
❶ >>> for rowOfCellObjects in sheet['A1':'C3']:for cellObj in rowOfCellObjects:
               print(cellObj.coordinate, cellObj.value)
           print('--- END OF ROW ---')
   A1 2015-04-05 13:34:02
   B1 Apples
   C1 73
   --- END OF ROW ---
   A2 2015-04-05 03:41:23
   B2 Cherries
   C2 85
   --- END OF ROW ---
   A3 2015-04-06 12:46:51
   B3 Pears
   C3 14
   --- END OF ROW ---
2 và thuộc tính
>>> import openpyxl
>>> from openpyxl.cell import get_column_letter, column_index_from_string
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(900)
'AHP'
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> get_column_letter(sheet.max_column)
'C'
>>> column_index_from_string('A')
1
>>> column_index_from_string('AA')
27
5 cung cấp cho chúng ta
   >>> import openpyxl
   >>> wb = openpyxl.load_workbook('example.xlsx')
   >>> sheet = wb.get_sheet_by_name('Sheet1')
   >>> tuple(sheet['A1':'C3'])
   ((<Cell Sheet1.A1>, <Cell Sheet1.B1>, <Cell Sheet1.C1>), (<Cell Sheet1.A2>,
   <Cell Sheet1.B2>, <Cell Sheet1.C2>), (<Cell Sheet1.A3>, <Cell Sheet1.B3>,
   <Cell Sheet1.C3>))
❶ >>> for rowOfCellObjects in sheet['A1':'C3']:for cellObj in rowOfCellObjects:
               print(cellObj.coordinate, cellObj.value)
           print('--- END OF ROW ---')
   A1 2015-04-05 13:34:02
   B1 Apples
   C1 73
   --- END OF ROW ---
   A2 2015-04-05 03:41:23
   B2 Cherries
   C2 85
   --- END OF ROW ---
   A3 2015-04-06 12:46:51
   B3 Pears
   C3 14
   --- END OF ROW ---
4.

OpenPyXL sẽ tự động giải thích các ngày trong cột A và trả về chúng dưới dạng các giá trị

   >>> import openpyxl
   >>> wb = openpyxl.load_workbook('example.xlsx')
   >>> sheet = wb.get_sheet_by_name('Sheet1')
   >>> tuple(sheet['A1':'C3'])
   ((<Cell Sheet1.A1>, <Cell Sheet1.B1>, <Cell Sheet1.C1>), (<Cell Sheet1.A2>,
   <Cell Sheet1.B2>, <Cell Sheet1.C2>), (<Cell Sheet1.A3>, <Cell Sheet1.B3>,
   <Cell Sheet1.C3>))
❶ >>> for rowOfCellObjects in sheet['A1':'C3']:for cellObj in rowOfCellObjects:
               print(cellObj.coordinate, cellObj.value)
           print('--- END OF ROW ---')
   A1 2015-04-05 13:34:02
   B1 Apples
   C1 73
   --- END OF ROW ---
   A2 2015-04-05 03:41:23
   B2 Cherries
   C2 85
   --- END OF ROW ---
   A3 2015-04-06 12:46:51
   B3 Pears
   C3 14
   --- END OF ROW ---
5 thay vì chuỗi. Kiểu dữ liệu
   >>> import openpyxl
   >>> wb = openpyxl.load_workbook('example.xlsx')
   >>> sheet = wb.get_sheet_by_name('Sheet1')
   >>> tuple(sheet['A1':'C3'])
   ((<Cell Sheet1.A1>, <Cell Sheet1.B1>, <Cell Sheet1.C1>), (<Cell Sheet1.A2>,
   <Cell Sheet1.B2>, <Cell Sheet1.C2>), (<Cell Sheet1.A3>, <Cell Sheet1.B3>,
   <Cell Sheet1.C3>))
❶ >>> for rowOfCellObjects in sheet['A1':'C3']:for cellObj in rowOfCellObjects:
               print(cellObj.coordinate, cellObj.value)
           print('--- END OF ROW ---')
   A1 2015-04-05 13:34:02
   B1 Apples
   C1 73
   --- END OF ROW ---
   A2 2015-04-05 03:41:23
   B2 Cherries
   C2 85
   --- END OF ROW ---
   A3 2015-04-06 12:46:51
   B3 Pears
   C3 14
   --- END OF ROW ---
5 được giải thích thêm trong Chương & NBSP; 16.

Chỉ định một cột từng chữ có thể là khó để lập trình, đặc biệt là vì sau cột Z, các cột bắt đầu bằng cách sử dụng hai chữ cái: AA, AB, AC, v.v. Thay vào đó, bạn cũng có thể nhận được một ô bằng phương pháp Tờ ____ ____77 và chuyển số nguyên cho các đối số từ khóa

>>> import openpyxl
>>> from openpyxl.cell import get_column_letter, column_index_from_string
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(900)
'AHP'
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> get_column_letter(sheet.max_column)
'C'
>>> column_index_from_string('A')
1
>>> column_index_from_string('AA')
27
3 và
>>> import openpyxl
>>> from openpyxl.cell import get_column_letter, column_index_from_string
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(900)
'AHP'
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> get_column_letter(sheet.max_column)
'C'
>>> column_index_from_string('A')
1
>>> column_index_from_string('AA')
27
4. Số nguyên hàng hoặc cột đầu tiên là
   >>> import openpyxl
   >>> wb = openpyxl.load_workbook('example.xlsx')
   >>> sheet = wb.get_sheet_by_name('Sheet1')
   >>> tuple(sheet['A1':'C3'])
   ((<Cell Sheet1.A1>, <Cell Sheet1.B1>, <Cell Sheet1.C1>), (<Cell Sheet1.A2>,
   <Cell Sheet1.B2>, <Cell Sheet1.C2>), (<Cell Sheet1.A3>, <Cell Sheet1.B3>,
   <Cell Sheet1.C3>))
❶ >>> for rowOfCellObjects in sheet['A1':'C3']:for cellObj in rowOfCellObjects:
               print(cellObj.coordinate, cellObj.value)
           print('--- END OF ROW ---')
   A1 2015-04-05 13:34:02
   B1 Apples
   C1 73
   --- END OF ROW ---
   A2 2015-04-05 03:41:23
   B2 Cherries
   C2 85
   --- END OF ROW ---
   A3 2015-04-06 12:46:51
   B3 Pears
   C3 14
   --- END OF ROW ---
0, không phải
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
1. Tiếp tục ví dụ Shell tương tác bằng cách nhập sau:

>>> sheet.cell(row=1, column=2)
<Cell Sheet1.B1>
>>> sheet.cell(row=1, column=2).value
'Apples'
>>> for i in range(1, 8, 2):
        print(i, sheet.cell(row=i, column=2).value)

1 Apples
3 Pears
5 Apples
7 Strawberries

Như bạn có thể thấy, bằng cách sử dụng phương thức Tờ ____ ____777 và chuyển nó

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
3 và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
4 giúp bạn có một đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 cho ô
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
6, giống như chỉ định
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
7 đã làm. Sau đó, sử dụng phương thức
   >>> import openpyxl
   >>> wb = openpyxl.load_workbook('example.xlsx')
   >>> sheet = wb.get_sheet_by_name('Sheet1')
   >>> tuple(sheet['A1':'C3'])
   ((<Cell Sheet1.A1>, <Cell Sheet1.B1>, <Cell Sheet1.C1>), (<Cell Sheet1.A2>,
   <Cell Sheet1.B2>, <Cell Sheet1.C2>), (<Cell Sheet1.A3>, <Cell Sheet1.B3>,
   <Cell Sheet1.C3>))
❶ >>> for rowOfCellObjects in sheet['A1':'C3']:for cellObj in rowOfCellObjects:
               print(cellObj.coordinate, cellObj.value)
           print('--- END OF ROW ---')
   A1 2015-04-05 13:34:02
   B1 Apples
   C1 73
   --- END OF ROW ---
   A2 2015-04-05 03:41:23
   B2 Cherries
   C2 85
   --- END OF ROW ---
   A3 2015-04-06 12:46:51
   B3 Pears
   C3 14
   --- END OF ROW ---
7 và các đối số từ khóa của nó, bạn có thể viết vòng lặp
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
9 để in các giá trị của một loạt các ô.

Giả sử bạn muốn đi xuống cột B và in giá trị trong mỗi ô có số hàng lẻ. Bằng cách vượt qua

   #! python3
   # readCensusExcel.py - Tabulates population and number of census tracts for
   # each county.

❶ import openpyxl, pprint
   print('Opening workbook...')
❷ wb = openpyxl.load_workbook('censuspopdata.xlsx')
❸ sheet = wb.get_sheet_by_name('Population by Census Tract')
   countyData = {}

   # TODO: Fill in countyData with each county's population and tracts.
   print('Reading rows...')
❹ for row in range(2, sheet.max_row + 1):
       # Each row in the spreadsheet has data for one census tract.
       state  = sheet['B' + str(row)].value
       county = sheet['C' + str(row)].value
       pop    = sheet['D' + str(row)].value

   # TODO: Open a new text file and write the contents of countyData to it.
0 cho tham số chức năng
   #! python3
   # readCensusExcel.py - Tabulates population and number of census tracts for
   # each county.

❶ import openpyxl, pprint
   print('Opening workbook...')
❷ wb = openpyxl.load_workbook('censuspopdata.xlsx')
❸ sheet = wb.get_sheet_by_name('Population by Census Tract')
   countyData = {}

   # TODO: Fill in countyData with each county's population and tracts.
   print('Reading rows...')
❹ for row in range(2, sheet.max_row + 1):
       # Each row in the spreadsheet has data for one census tract.
       state  = sheet['B' + str(row)].value
       county = sheet['C' + str(row)].value
       pop    = sheet['D' + str(row)].value

   # TODO: Open a new text file and write the contents of countyData to it.
1 Bước Bước Bước, bạn có thể nhận các ô từ mỗi hàng thứ hai (trong trường hợp này, tất cả các hàng số lẻ). Biến
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
9 Vòng lặp ____ ____993 được truyền cho đối số từ khóa
>>> import openpyxl
>>> from openpyxl.cell import get_column_letter, column_index_from_string
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(900)
'AHP'
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> get_column_letter(sheet.max_column)
'C'
>>> column_index_from_string('A')
1
>>> column_index_from_string('AA')
27
3 cho phương thức
   >>> import openpyxl
   >>> wb = openpyxl.load_workbook('example.xlsx')
   >>> sheet = wb.get_sheet_by_name('Sheet1')
   >>> tuple(sheet['A1':'C3'])
   ((<Cell Sheet1.A1>, <Cell Sheet1.B1>, <Cell Sheet1.C1>), (<Cell Sheet1.A2>,
   <Cell Sheet1.B2>, <Cell Sheet1.C2>), (<Cell Sheet1.A3>, <Cell Sheet1.B3>,
   <Cell Sheet1.C3>))
❶ >>> for rowOfCellObjects in sheet['A1':'C3']:for cellObj in rowOfCellObjects:
               print(cellObj.coordinate, cellObj.value)
           print('--- END OF ROW ---')
   A1 2015-04-05 13:34:02
   B1 Apples
   C1 73
   --- END OF ROW ---
   A2 2015-04-05 03:41:23
   B2 Cherries
   C2 85
   --- END OF ROW ---
   A3 2015-04-06 12:46:51
   B3 Pears
   C3 14
   --- END OF ROW ---
7, trong khi
   #! python3
   # readCensusExcel.py - Tabulates population and number of census tracts for
   # each county.

❶ import openpyxl, pprint
   print('Opening workbook...')
❷ wb = openpyxl.load_workbook('censuspopdata.xlsx')
❸ sheet = wb.get_sheet_by_name('Population by Census Tract')
   countyData = {}

   # TODO: Fill in countyData with each county's population and tracts.
   print('Reading rows...')
❹ for row in range(2, sheet.max_row + 1):
       # Each row in the spreadsheet has data for one census tract.
       state  = sheet['B' + str(row)].value
       county = sheet['C' + str(row)].value
       pop    = sheet['D' + str(row)].value

   # TODO: Open a new text file and write the contents of countyData to it.
0 luôn được truyền cho đối số từ khóa
>>> import openpyxl
>>> from openpyxl.cell import get_column_letter, column_index_from_string
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(900)
'AHP'
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> get_column_letter(sheet.max_column)
'C'
>>> column_index_from_string('A')
1
>>> column_index_from_string('AA')
27
4. Lưu ý rằng số nguyên
   #! python3
   # readCensusExcel.py - Tabulates population and number of census tracts for
   # each county.

❶ import openpyxl, pprint
   print('Opening workbook...')
❷ wb = openpyxl.load_workbook('censuspopdata.xlsx')
❸ sheet = wb.get_sheet_by_name('Population by Census Tract')
   countyData = {}

   # TODO: Fill in countyData with each county's population and tracts.
   print('Reading rows...')
❹ for row in range(2, sheet.max_row + 1):
       # Each row in the spreadsheet has data for one census tract.
       state  = sheet['B' + str(row)].value
       county = sheet['C' + str(row)].value
       pop    = sheet['D' + str(row)].value

   # TODO: Open a new text file and write the contents of countyData to it.
0, không phải chuỗi
   >>> import openpyxl
   >>> wb = openpyxl.load_workbook('example.xlsx')
   >>> sheet = wb.get_sheet_by_name('Sheet1')
   >>> tuple(sheet['A1':'C3'])
   ((<Cell Sheet1.A1>, <Cell Sheet1.B1>, <Cell Sheet1.C1>), (<Cell Sheet1.A2>,
   <Cell Sheet1.B2>, <Cell Sheet1.C2>), (<Cell Sheet1.A3>, <Cell Sheet1.B3>,
   <Cell Sheet1.C3>))
❶ >>> for rowOfCellObjects in sheet['A1':'C3']:for cellObj in rowOfCellObjects:
               print(cellObj.coordinate, cellObj.value)
           print('--- END OF ROW ---')
   A1 2015-04-05 13:34:02
   B1 Apples
   C1 73
   --- END OF ROW ---
   A2 2015-04-05 03:41:23
   B2 Cherries
   C2 85
   --- END OF ROW ---
   A3 2015-04-06 12:46:51
   B3 Pears
   C3 14
   --- END OF ROW ---
2, được truyền.

Bạn có thể xác định kích thước của trang tính với các biến thành viên đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
01 và ____102. Nhập phần sau vào vỏ tương tác:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3

Lưu ý rằng phương thức

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
02 trả về một số nguyên chứ không phải chữ cái xuất hiện trong Excel.

Chuyển đổi giữa các chữ cái và số cột

Để chuyển đổi từ các chữ cái sang số, hãy gọi hàm

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
04. Để chuyển đổi từ các số sang các chữ cái, hãy gọi hàm
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
05. Nhập phần sau vào vỏ tương tác:

>>> import openpyxl
>>> from openpyxl.cell import get_column_letter, column_index_from_string
>>> get_column_letter(1)
'A'
>>> get_column_letter(2)
'B'
>>> get_column_letter(27)
'AA'
>>> get_column_letter(900)
'AHP'
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> get_column_letter(sheet.max_column)
'C'
>>> column_index_from_string('A')
1
>>> column_index_from_string('AA')
27

Sau khi bạn nhập hai chức năng này từ mô -đun

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
06, bạn có thể gọi
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
07 và chuyển nó một số nguyên như 27 để tìm ra tên chữ cái của cột thứ 27 là gì. Hàm
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
08 thực hiện ngược lại: bạn chuyển nó tên chữ cái của một cột và nó cho bạn biết số đó là số nào. Bạn không cần phải có một sổ làm việc để sử dụng các chức năng này. Nếu bạn muốn, bạn có thể tải một sổ làm việc, nhận đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2 và gọi phương thức đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2 như
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
02 để có được số nguyên. Sau đó, bạn có thể chuyển số nguyên đó cho
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
07.

Nhận hàng và cột từ các tờ

Bạn có thể cắt các đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2 để có được tất cả các đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 theo một hàng, cột hoặc diện tích hình chữ nhật của bảng tính. Sau đó, bạn có thể lặp qua tất cả các ô trong lát cắt. Nhập phần sau vào vỏ tương tác:

   >>> import openpyxl
   >>> wb = openpyxl.load_workbook('example.xlsx')
   >>> sheet = wb.get_sheet_by_name('Sheet1')
   >>> tuple(sheet['A1':'C3'])
   ((<Cell Sheet1.A1>, <Cell Sheet1.B1>, <Cell Sheet1.C1>), (<Cell Sheet1.A2>,
   <Cell Sheet1.B2>, <Cell Sheet1.C2>), (<Cell Sheet1.A3>, <Cell Sheet1.B3>,
   <Cell Sheet1.C3>))
❶ >>> for rowOfCellObjects in sheet['A1':'C3']:for cellObj in rowOfCellObjects:
               print(cellObj.coordinate, cellObj.value)
           print('--- END OF ROW ---')
   A1 2015-04-05 13:34:02
   B1 Apples
   C1 73
   --- END OF ROW ---
   A2 2015-04-05 03:41:23
   B2 Cherries
   C2 85
   --- END OF ROW ---
   A3 2015-04-06 12:46:51
   B3 Pears
   C3 14
   --- END OF ROW ---

Ở đây, chúng tôi chỉ định rằng chúng tôi muốn các đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 trong khu vực hình chữ nhật từ A1 đến C3 và chúng tôi nhận được một đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
16 chứa các đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 trong khu vực đó. Để giúp chúng tôi trực quan hóa đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
16 này, chúng tôi có thể sử dụng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
19 trên đó để hiển thị các đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 của nó trong một bộ thuật.

Bộ tuple này chứa ba bộ dữ liệu: một cho mỗi hàng, từ đỉnh của khu vực mong muốn xuống đáy. Mỗi trong ba bộ dữ liệu bên trong này chứa các đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 trong một hàng của khu vực mong muốn của chúng tôi, từ ô ngoài cùng bên trái sang phải. Vì vậy, về tổng thể, lát cắt của chúng tôi chứa tất cả các đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 trong khu vực từ A1 đến C3, bắt đầu từ ô trên cùng bên trái và kết thúc bằng ô dưới cùng bên phải.

Để in các giá trị của từng ô trong khu vực, chúng tôi sử dụng hai vòng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
9. Vòng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
9 bên ngoài đi qua mỗi hàng trong lát. Sau đó, với mỗi hàng, vòng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
9 lồng nhau đi qua mỗi ô trong hàng đó.

Để truy cập các giá trị của các ô trong một hàng hoặc cột cụ thể, bạn cũng có thể sử dụng thuộc tính

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2 đối tượng ____ ____127 và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
28. Nhập phần sau vào vỏ tương tác:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries

Sử dụng thuộc tính

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
27 trên đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2 sẽ cung cấp cho bạn một bộ dữ liệu. Mỗi bộ dữ liệu bên trong này đại diện cho một hàng và chứa các đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 trong hàng đó. Thuộc tính
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
28 cũng cung cấp cho bạn một bộ dữ liệu, với mỗi bộ dữ liệu bên trong chứa các đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 trong một cột cụ thể. Ví dụ.xlsx, vì có 7 hàng và 3 cột,
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
27 cung cấp cho chúng ta một bộ dữ liệu 7 bộ (mỗi thứ chứa 3 đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9) và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
28 cung cấp cho chúng ta một bộ ba (mỗi đối tượng chứa 7 đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9).example.xlsx, since there are 7 rows and 3 columns,
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
27 gives us a tuple of 7 tuples (each containing 3
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 objects), and
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
28 gives us a tuple of 3 tuples (each containing 7
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 objects).

Để truy cập một tuple cụ thể, bạn có thể tham khảo nó bằng chỉ mục của nó trong bộ tuple lớn hơn. Ví dụ: để có được tuple đại diện cho cột B, bạn sử dụng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
38. Để có được tuple chứa các đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 trong cột A, bạn đã sử dụng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
40. Khi bạn có một tuple đại diện cho một hàng hoặc cột, bạn có thể lặp qua các đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 của nó và in các giá trị của chúng.

Sổ làm việc, tờ giấy, tế bào

Như một đánh giá nhanh, ở đây, một danh sách của tất cả các chức năng, phương thức và loại dữ liệu liên quan đến việc đọc một ô ra khỏi tệp bảng tính:

  1. Nhập mô -đun

    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet['A1']
    <Cell Sheet1.A1>
    >>> sheet['A1'].value
    datetime.datetime(2015, 4, 5, 13, 34, 2)
    >>> c = sheet['B1']
    >>> c.value
    'Apples'
    >>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
    'Row 1, Column B is Apples'
    >>> 'Cell ' + c.coordinate + ' is ' + c.value
    'Cell B1 is Apples'
    >>> sheet['C1'].value
    73
    6.

  2. Gọi hàm

    >>> sheet.cell(row=1, column=2)
    <Cell Sheet1.B1>
    >>> sheet.cell(row=1, column=2).value
    'Apples'
    >>> for i in range(1, 8, 2):
            print(i, sheet.cell(row=i, column=2).value)
    
    1 Apples
    3 Pears
    5 Apples
    7 Strawberries
    3.

  3. Nhận một đối tượng

    >>> sheet.cell(row=1, column=2)
    <Cell Sheet1.B1>
    >>> sheet.cell(row=1, column=2).value
    'Apples'
    >>> for i in range(1, 8, 2):
            print(i, sheet.cell(row=i, column=2).value)
    
    1 Apples
    3 Pears
    5 Apples
    7 Strawberries
    6.

  4. Đọc biến thành viên

    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet.max_row
    7
    >>> sheet.max_column
    3
    4 hoặc gọi phương thức sổ làm việc
    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet.max_row
    7
    >>> sheet.max_column
    3
    3.

  5. Nhận một đối tượng

    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet.max_row
    7
    >>> sheet.max_column
    3
    2.

  6. Sử dụng lập chỉ mục hoặc phương thức trang

       >>> import openpyxl
       >>> wb = openpyxl.load_workbook('example.xlsx')
       >>> sheet = wb.get_sheet_by_name('Sheet1')
       >>> tuple(sheet['A1':'C3'])
       ((<Cell Sheet1.A1>, <Cell Sheet1.B1>, <Cell Sheet1.C1>), (<Cell Sheet1.A2>,
       <Cell Sheet1.B2>, <Cell Sheet1.C2>), (<Cell Sheet1.A3>, <Cell Sheet1.B3>,
       <Cell Sheet1.C3>))
    ❶ >>> for rowOfCellObjects in sheet['A1':'C3']:for cellObj in rowOfCellObjects:
                   print(cellObj.coordinate, cellObj.value)
               print('--- END OF ROW ---')
       A1 2015-04-05 13:34:02
       B1 Apples
       C1 73
       --- END OF ROW ---
       A2 2015-04-05 03:41:23
       B2 Cherries
       C2 85
       --- END OF ROW ---
       A3 2015-04-06 12:46:51
       B3 Pears
       C3 14
       --- END OF ROW ---
    7 với các đối số từ khóa
    >>> import openpyxl
    >>> from openpyxl.cell import get_column_letter, column_index_from_string
    >>> get_column_letter(1)
    'A'
    >>> get_column_letter(2)
    'B'
    >>> get_column_letter(27)
    'AA'
    >>> get_column_letter(900)
    'AHP'
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> get_column_letter(sheet.max_column)
    'C'
    >>> column_index_from_string('A')
    1
    >>> column_index_from_string('AA')
    27
    3 và
    >>> import openpyxl
    >>> from openpyxl.cell import get_column_letter, column_index_from_string
    >>> get_column_letter(1)
    'A'
    >>> get_column_letter(2)
    'B'
    >>> get_column_letter(27)
    'AA'
    >>> get_column_letter(900)
    'AHP'
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> get_column_letter(sheet.max_column)
    'C'
    >>> column_index_from_string('A')
    1
    >>> column_index_from_string('AA')
    27
    4.

  7. Nhận một đối tượng

    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet.max_row
    7
    >>> sheet.max_column
    3
    9.

  8. Đọc thuộc tính

    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet.max_row
    7
    >>> sheet.max_column
    3
    9 đối tượng
    >>> import openpyxl
    >>> from openpyxl.cell import get_column_letter, column_index_from_string
    >>> get_column_letter(1)
    'A'
    >>> get_column_letter(2)
    'B'
    >>> get_column_letter(27)
    'AA'
    >>> get_column_letter(900)
    'AHP'
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> get_column_letter(sheet.max_column)
    'C'
    >>> column_index_from_string('A')
    1
    >>> column_index_from_string('AA')
    27
    1.

Dự án: Đọc dữ liệu từ bảng tính

Giả sử bạn có một bảng tính dữ liệu từ cuộc điều tra dân số Hoa Kỳ năm 2010 và bạn có nhiệm vụ nhàm chán là đi qua hàng ngàn hàng của nó để đếm cả tổng dân số và số lượng vùng điều tra dân số cho mỗi quận. . Chúng tôi sẽ đặt tên cho tệp bảng tính CESUSPOPDATA.XLSX và bạn có thể tải xuống từ http://nostarch.com/automatestuff/. Nội dung của nó trông giống như hình & nbsp; 12-2.censuspopdata.xlsx, and you can download it from http://nostarch.com/automatestuff/. Its contents look like Figure 12-2.

Hướng dẫn what can python do in excel - Python có thể làm gì trong excel

Hình & NBSP; 12-2. & NBSP;censuspopdata.xlsx spreadsheet

Mặc dù Excel có thể tính tổng của nhiều ô được chọn, nhưng bạn vẫn phải chọn các ô cho mỗi trong số hơn 3.000 quận. Ngay cả khi chỉ mất vài giây để tính toán một dân số quận bằng tay, điều này sẽ mất hàng giờ để làm cho toàn bộ bảng tính.

Trong dự án này, bạn sẽ viết một tập lệnh có thể đọc từ tệp bảng tính điều tra dân số và tính toán số liệu thống kê cho mỗi quận trong vài giây.

Đây là những gì chương trình của bạn làm:

  • Đọc dữ liệu từ bảng tính Excel.

  • Đếm số lượng vùng điều tra dân số ở mỗi quận.

  • Tính tổng dân số của mỗi quận.

  • In kết quả.

Điều này có nghĩa là mã của bạn sẽ cần phải làm như sau:

  • Mở và đọc các ô của một tài liệu Excel với mô -đun

    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet['A1']
    <Cell Sheet1.A1>
    >>> sheet['A1'].value
    datetime.datetime(2015, 4, 5, 13, 34, 2)
    >>> c = sheet['B1']
    >>> c.value
    'Apples'
    >>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
    'Row 1, Column B is Apples'
    >>> 'Cell ' + c.coordinate + ' is ' + c.value
    'Cell B1 is Apples'
    >>> sheet['C1'].value
    73
    6.

  • Tính tất cả các dữ liệu đường và dân số và lưu trữ nó trong một cấu trúc dữ liệu.

  • Viết cấu trúc dữ liệu vào tệp văn bản với tiện ích mở rộng .Py bằng mô -đun

    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> type(wb)
    <class 'openpyxl.workbook.workbook.Workbook'>
    55..py extension using the
    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> type(wb)
    <class 'openpyxl.workbook.workbook.Workbook'>
    55 module.

Bước 1: Đọc dữ liệu bảng tính

Chỉ có một tờ trong bảng tính CensusPopData.xlsx, được đặt tên là

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
56 và mỗi hàng giữ dữ liệu cho một đường điều tra dân số. Các cột là số đường (a), viết tắt của tiểu bang (b), tên quận (c) và dân số của đường (d).censuspopdata.xlsx spreadsheet, named
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
56, and each row holds the data for a single census tract. The columns are the tract number (A), the state abbreviation (B), the county name (C), and the population of the tract (D).

Mở cửa sổ Trình chỉnh sửa tệp mới và nhập mã sau. Lưu tệp dưới dạng readcensusexcel.py.readCensusExcel.py.

   #! python3
   # readCensusExcel.py - Tabulates population and number of census tracts for
   # each county.

❶ import openpyxl, pprint
   print('Opening workbook...')
❷ wb = openpyxl.load_workbook('censuspopdata.xlsx')
❸ sheet = wb.get_sheet_by_name('Population by Census Tract')
   countyData = {}

   # TODO: Fill in countyData with each county's population and tracts.
   print('Reading rows...')
❹ for row in range(2, sheet.max_row + 1):
       # Each row in the spreadsheet has data for one census tract.
       state  = sheet['B' + str(row)].value
       county = sheet['C' + str(row)].value
       pop    = sheet['D' + str(row)].value

   # TODO: Open a new text file and write the contents of countyData to it.

Mã này nhập mô -đun

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
6, cũng như mô -đun
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
55 mà bạn sẽ sử dụng để in dữ liệu quận cuối cùng. Sau đó, nó mở tệp CensusPopData.xlsx, nhận bảng với dữ liệu điều tra dân số ❸ và bắt đầu lặp lại trên các hàng của nó.censuspopdata.xlsx file ❷, gets the sheet with the census data ❸, and begins iterating over its rows ❹.

Lưu ý rằng bạn cũng đã tạo ra một biến có tên

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
59, trong đó sẽ chứa các quần thể và số lượng các vùng bạn tính toán cho mỗi quận. Tuy nhiên, trước khi bạn có thể lưu trữ bất cứ thứ gì trong đó, bạn nên xác định chính xác cách bạn cấu trúc dữ liệu bên trong nó.

Bước 2: Xuất hiện cấu trúc dữ liệu

Cấu trúc dữ liệu được lưu trữ trong

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
59 sẽ là một từ điển với các chữ viết tắt trạng thái làm khóa của nó. Mỗi chữ viết tắt của tiểu bang sẽ ánh xạ tới một từ điển khác, có chìa khóa là các chuỗi tên quận trong tiểu bang đó. Mỗi tên quận sẽ lần lượt bản đồ đến một từ điển chỉ với hai khóa,
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
61 và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
62. Những chìa khóa này ánh xạ theo số lượng vùng điều tra dân số và dân số cho quận. Ví dụ, từ điển sẽ trông tương tự như thế này:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
0

Nếu từ điển trước được lưu trữ trong

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
59, các biểu thức sau đây sẽ đánh giá như thế này:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
1

Tổng quát hơn, các phím từ điển

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
59 sẽ trông như thế này:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
2

Bây giờ bạn đã biết

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
59 sẽ được cấu trúc như thế nào, bạn có thể viết mã sẽ điền vào dữ liệu của quận. Thêm mã sau vào cuối chương trình của bạn:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
3

Hai dòng mã cuối cùng thực hiện công việc tính toán thực tế, tăng giá trị cho

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
66 và tăng giá trị cho
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
67 cho quận hiện tại trên mỗi lần lặp của vòng lặp
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
9.

Mã khác ở đó vì bạn không thể thêm từ điển quận làm giá trị cho khóa viết tắt trạng thái cho đến khi chính khóa tồn tại trong

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
59. . cho
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
73.

Giống như từ điển

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
59 cần một từ điển là giá trị cho mỗi khóa viết tắt của tiểu bang, mỗi từ điển đó sẽ cần từ điển riêng của nó là giá trị cho mỗi khóa của quận. Và lần lượt mỗi từ điển sẽ cần các khóa
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
61 và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
62 bắt đầu với giá trị nguyên
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
1. (Nếu bạn đã từng mất dấu của cấu trúc từ điển, hãy nhìn lại từ điển ví dụ ở đầu phần này.)those dictionaries will need its own dictionary as the value for each county key ❷. And each of those dictionaries in turn will need keys
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
61 and
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
62 that start with the integer value
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
1. (If you ever lose track of the dictionary structure, look back at the example dictionary at the start of this section.)

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
72 sẽ không làm gì nếu khóa đã tồn tại, bạn có thể gọi nó trên mọi lần lặp của vòng lặp
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
9 mà không gặp vấn đề gì.

Bước 3: Viết kết quả vào tệp

Sau khi vòng lặp

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
9 kết thúc, từ điển
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
59 sẽ chứa tất cả các thông tin dân số và đường do quận và tiểu bang khóa. Tại thời điểm này, bạn có thể lập trình nhiều mã hơn để ghi nó vào tệp văn bản hoặc một bảng tính Excel khác. Hiện tại, hãy để chỉ sử dụng chức năng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
82 để viết giá trị từ điển
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
59 dưới dạng chuỗi lớn cho một tệp có tên Điều tra dân số2010.py. Thêm mã sau vào cuối chương trình của bạn (đảm bảo giữ cho nó không được kiểm chứng để nó ở ngoài vòng lặp
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
9):census2010.py. Add the following code to the bottom of your program (making sure to keep it unindented so that it stays outside the
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
9 loop):

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
4

Hàm

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
82 tạo ra một chuỗi được định dạng là mã python hợp lệ. Bằng cách xuất nó vào một tệp văn bản có tên là điều tra dân số2010.py, bạn đã tạo ra một chương trình Python từ chương trình Python của bạn! Điều này có vẻ phức tạp, nhưng lợi thế là bây giờ bạn có thể nhập điều tra dân số2010.py giống như bất kỳ mô -đun Python nào khác. Trong shell tương tác, thay đổi thư mục làm việc hiện tại thành thư mục với tệp điều tra dân số mới được tạo của bạn (trên máy tính xách tay của tôi, đây là C: \ Python34), sau đó nhập nó:census2010.py, you’ve generated a Python program from your Python program! This may seem complicated, but the advantage is that you can now import census2010.py just like any other Python module. In the interactive shell, change the current working directory to the folder with your newly created census2010.py file (on my laptop, this is C:\Python34), and then import it:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
5

Chương trình readcensusexcel.py là mã vứt bỏ: một khi bạn đã lưu kết quả của nó vào điều tra dân số2010.py, bạn đã giành được một lần nữa để chạy lại chương trình. Bất cứ khi nào bạn cần dữ liệu của quận, bạn chỉ có thể chạy

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
86.readCensusExcel.py program was throwaway code: Once you have its results saved to census2010.py, you won’t need to run the program again. Whenever you need the county data, you can just run
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
86.

Tính toán dữ liệu này bằng tay sẽ mất nhiều giờ; Chương trình này đã làm điều đó trong vài giây. Sử dụng OpenPyXL, bạn sẽ không gặp khó khăn khi trích xuất thông tin được lưu vào bảng tính Excel và thực hiện các tính toán trên đó. Bạn có thể tải xuống chương trình hoàn chỉnh từ http://nostarch.com/automatestuff/.http://nostarch.com/automatestuff/.

Ý tưởng cho các chương trình tương tự

Nhiều doanh nghiệp và văn phòng sử dụng Excel để lưu trữ nhiều loại dữ liệu khác nhau, và nó không phải là hiếm khi bảng tính trở nên lớn và khó sử dụng. Bất kỳ chương trình nào phân tích bảng tính Excel đều có cấu trúc tương tự: nó tải tệp bảng tính, chuẩn bị một số biến hoặc cấu trúc dữ liệu, sau đó lặp qua từng hàng trong bảng tính. Một chương trình như vậy có thể làm như sau:

  • So sánh dữ liệu trên nhiều hàng trong bảng tính.

  • Mở nhiều tệp Excel và so sánh dữ liệu giữa bảng tính.

  • Kiểm tra xem bảng tính có hàng trống hoặc dữ liệu không hợp lệ trong bất kỳ ô nào không và cảnh báo người dùng nếu có.

  • Đọc dữ liệu từ bảng tính và sử dụng nó làm đầu vào cho các chương trình Python của bạn.

Viết tài liệu Excel

OpenPyXL cũng cung cấp các cách viết dữ liệu, có nghĩa là các chương trình của bạn có thể tạo và chỉnh sửa các tệp bảng tính. Với Python, nó rất đơn giản để tạo bảng tính với hàng ngàn hàng dữ liệu.

Tạo và lưu tài liệu Excel

Gọi hàm

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
87 để tạo đối tượng
>>> sheet.cell(row=1, column=2)
<Cell Sheet1.B1>
>>> sheet.cell(row=1, column=2).value
'Apples'
>>> for i in range(1, 8, 2):
        print(i, sheet.cell(row=i, column=2).value)

1 Apples
3 Pears
5 Apples
7 Strawberries
6 mới, trống. Nhập phần sau vào vỏ tương tác:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
6

Sổ làm việc sẽ bắt đầu với một tờ có tên. Bạn có thể thay đổi tên của trang tính bằng cách lưu trữ một chuỗi mới trong thuộc tính

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
7 của nó.Sheet. You can change the name of the sheet by storing a new string in its
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
7 attribute.

Bất cứ khi nào bạn sửa đổi đối tượng

>>> sheet.cell(row=1, column=2)
<Cell Sheet1.B1>
>>> sheet.cell(row=1, column=2).value
'Apples'
>>> for i in range(1, 8, 2):
        print(i, sheet.cell(row=i, column=2).value)

1 Apples
3 Pears
5 Apples
7 Strawberries
6 hoặc các bảng và ô của nó, tệp bảng tính sẽ không được lưu cho đến khi bạn gọi phương thức sổ làm việc
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
91. Nhập phần sau vào vỏ tương tác (với example.xlsx vào thư mục làm việc hiện tại):example.xlsx in the current working directory):

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
7

Ở đây, chúng tôi thay đổi tên của tờ của chúng tôi. Để lưu các thay đổi của chúng tôi, chúng tôi chuyển tên tệp dưới dạng chuỗi cho phương thức

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
91. Vượt qua một tên tệp khác với bản gốc, chẳng hạn như
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
93, lưu các thay đổi cho một bản sao của bảng tính.

Bất cứ khi nào bạn chỉnh sửa bảng tính mà bạn đã tải từ một tệp, bạn phải luôn lưu bảng tính mới, chỉnh sửa cho một tên tệp khác so với bản gốc. Bằng cách đó, bạn sẽ vẫn có tệp bảng tính gốc để hoạt động trong trường hợp lỗi trong mã của bạn khiến tệp mới, được lưu có dữ liệu không chính xác hoặc bị hỏng.

Tạo và xóa các tờ

Các tờ có thể được thêm vào và xóa khỏi sổ làm việc với các phương pháp

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
94 và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
95. Nhập phần sau vào vỏ tương tác:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
8

Phương thức

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
94 trả về một đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2 mới có tên
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
98
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
99, theo mặc định được đặt là bảng cuối cùng trong sổ làm việc. Tùy chọn, chỉ mục và tên của bảng mới có thể được chỉ định với các đối số từ khóa
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
00 và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
7.
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
99
, which by default is set to be the last sheet in the workbook. Optionally, the index and name of the new sheet can be specified with the
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
00 and
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
7 keyword arguments.

Tiếp tục ví dụ trước bằng cách nhập các mục sau:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
9

Phương thức

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
95 lấy một đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2, không phải là một chuỗi của tên trang tính, làm đối số của nó. Nếu bạn chỉ biết tên của một tờ bạn muốn xóa, hãy gọi
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
3 và chuyển giá trị trả về của nó thành
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
95.

Hãy nhớ gọi phương thức

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
91 để lưu các thay đổi sau khi thêm các tờ vào hoặc xóa các tờ khỏi sổ làm việc.

Viết giá trị cho các ô

Viết giá trị cho các ô giống như viết các giá trị cho các khóa trong từ điển. Nhập cái này vào vỏ tương tác:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
0

Nếu bạn có tọa độ ô tế bào như một chuỗi, bạn có thể sử dụng nó giống như một khóa từ điển trên đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2 để chỉ định ô nào sẽ ghi.

Dự án: Cập nhật bảng tính

Trong dự án này, bạn sẽ viết một chương trình để cập nhật các ô trong bảng tính bán hàng sản xuất. Chương trình của bạn sẽ xem qua bảng tính, tìm các loại sản phẩm cụ thể và cập nhật giá của chúng. Tải xuống bảng tính này từ http://nostarch.com/automatestuff/. Hình & nbsp; 12-3 cho thấy bảng tính trông như thế nào.http://nostarch.com/automatestuff/. Figure 12-3 shows what the spreadsheet looks like.

Hướng dẫn what can python do in excel - Python có thể làm gì trong excel

Hình & nbsp; 12-3. & Nbsp; một bảng tính bán hàng sản xuất

Mỗi hàng đại diện cho một bán hàng cá nhân. Các cột là loại sản phẩm được bán (a), chi phí cho mỗi pound sản phẩm đó (b), số pound được bán (c) và tổng doanh thu từ việc bán (d). Tổng số cột được đặt thành Công thức Excel = Vòng (B3*C3, 2), nhân với chi phí mỗi pound với số pound được bán và làm tròn kết quả với cent gần nhất. Với công thức này, các ô trong tổng số cột sẽ tự động cập nhật nếu có sự thay đổi trong cột B hoặc C.=ROUND(B3*C3, 2), which multiplies the cost per pound by the number of pounds sold and rounds the result to the nearest cent. With this formula, the cells in the TOTAL column will automatically update themselves if there is a change in column B or C.

Bây giờ hãy tưởng tượng rằng giá tỏi, cần tây và chanh đã được đưa vào không chính xác, để lại cho bạn nhiệm vụ nhàm chán là đi qua hàng ngàn hàng trong bảng tính này để cập nhật chi phí cho mỗi pound cho bất kỳ tỏi, cần tây và hàng chanh. Bạn có thể thực hiện một việc tìm kiếm và thay thế đơn giản với giá vì có thể có những mặt hàng khác có cùng mức giá mà bạn không muốn nhầm lẫn chính xác. Đối với hàng ngàn hàng, điều này sẽ mất hàng giờ để làm bằng tay. Nhưng bạn có thể viết một chương trình có thể thực hiện điều này trong vài giây.

Chương trình của bạn làm như sau:

  • Vòng lặp trên tất cả các hàng.

  • Nếu hàng là cho tỏi, cần tây hoặc chanh, thay đổi giá.

Điều này có nghĩa là mã của bạn sẽ cần phải làm như sau:

  • Mở tệp bảng tính.

  • Đối với mỗi hàng, hãy kiểm tra xem giá trị trong cột A là

    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> wb.get_sheet_names()
    ['Sheet1', 'Sheet2', 'Sheet3']
    >>> sheet = wb.get_sheet_by_name('Sheet3')
    >>> sheet
    <Worksheet "Sheet3">
    >>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
    >>> sheet.title
    'Sheet3'
    >>> anotherSheet = wb.active
    >>> anotherSheet
    <Worksheet "Sheet1">
    08,
    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> wb.get_sheet_names()
    ['Sheet1', 'Sheet2', 'Sheet3']
    >>> sheet = wb.get_sheet_by_name('Sheet3')
    >>> sheet
    <Worksheet "Sheet3">
    >>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
    >>> sheet.title
    'Sheet3'
    >>> anotherSheet = wb.active
    >>> anotherSheet
    <Worksheet "Sheet1">
    09 hoặc
    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> wb.get_sheet_names()
    ['Sheet1', 'Sheet2', 'Sheet3']
    >>> sheet = wb.get_sheet_by_name('Sheet3')
    >>> sheet
    <Worksheet "Sheet3">
    >>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
    >>> sheet.title
    'Sheet3'
    >>> anotherSheet = wb.active
    >>> anotherSheet
    <Worksheet "Sheet1">
    10.

  • Nếu có, hãy cập nhật giá trong cột B.

  • Lưu bảng tính vào một tệp mới (để bạn không mất bảng tính cũ, chỉ trong trường hợp).

Bước 1: Thiết lập cấu trúc dữ liệu với thông tin cập nhật

Giá mà bạn cần cập nhật như sau:

Rau cần tây

1.19

Tỏi

3.07

Chanh vàng

1.27

Bạn có thể viết mã như thế này:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
1

Có các sản phẩm và dữ liệu giá được cập nhật được mã hóa như thế này hơi không phù hợp. Nếu bạn cần cập nhật bảng tính một lần nữa với giá khác nhau hoặc các sản phẩm khác nhau, bạn sẽ phải thay đổi rất nhiều mã. Mỗi khi bạn thay đổi mã, bạn có nguy cơ giới thiệu lỗi.

Một giải pháp linh hoạt hơn là lưu trữ thông tin giá đã sửa trong từ điển và viết mã của bạn để sử dụng cấu trúc dữ liệu này. Trong cửa sổ Trình chỉnh sửa tệp mới, hãy nhập mã sau:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
2

Lưu điều này dưới dạng updateProduce.py. Nếu bạn cần cập nhật lại bảng tính, bạn sẽ chỉ cần cập nhật từ điển

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
11 chứ không phải bất kỳ mã nào khác.updateProduce.py. If you need to update the spreadsheet again, you’ll need to update only the
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
11 dictionary, not any other code.

Bước 2: Kiểm tra tất cả các hàng và cập nhật giá không chính xác

Phần tiếp theo của chương trình sẽ lặp qua tất cả các hàng trong bảng tính. Thêm mã sau vào cuối UpdateProduce.py:updateProduce.py:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
3

Chúng tôi lặp qua các hàng bắt đầu từ hàng 2, vì hàng 1 chỉ là tiêu đề. Ô trong cột 1 (nghĩa là cột A) sẽ được lưu trữ trong biến

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
12. Nếu
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
12 tồn tại dưới dạng chìa khóa trong từ điển
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
11, thì bạn biết đây là một hàng phải sửa giá. Giá chính xác sẽ là trong
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
15.

Lưu ý cách sử dụng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
11 làm cho mã. Chỉ có một câu lệnh
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
17, thay vì mã như
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
18, là cần thiết cho mọi loại sản phẩm để cập nhật. Và vì mã sử dụng từ điển
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
11 thay vì mã hóa các tên sản xuất và chi phí cập nhật vào vòng lặp
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
9, bạn chỉ sửa đổi từ điển
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
11 chứ không phải mã nếu bảng tính bán hàng sản xuất cần thay đổi bổ sung.

Sau khi đi qua toàn bộ bảng tính và thực hiện các thay đổi, mã sẽ lưu đối tượng

>>> sheet.cell(row=1, column=2)
<Cell Sheet1.B1>
>>> sheet.cell(row=1, column=2).value
'Apples'
>>> for i in range(1, 8, 2):
        print(i, sheet.cell(row=i, column=2).value)

1 Apples
3 Pears
5 Apples
7 Strawberries
6 để cập nhậtProducesales.xlsx. Nó không ghi đè lên bảng tính cũ chỉ trong trường hợp có một lỗi trong chương trình của bạn và bảng tính được cập nhật là sai. Sau khi kiểm tra xem bảng tính được cập nhật có trông đúng không, bạn có thể xóa bảng tính cũ.updatedProduceSales.xlsx ❹. It doesn’t overwrite the old spreadsheet just in case there’s a bug in your program and the updated spreadsheet is wrong. After checking that the updated spreadsheet looks right, you can delete the old spreadsheet.

Bạn có thể tải xuống mã nguồn đầy đủ cho chương trình này từ http://nostarch.com/automatestuff/.http://nostarch.com/automatestuff/.

Ý tưởng cho các chương trình tương tự

Vì nhiều nhân viên văn phòng sử dụng bảng tính Excel mọi lúc, một chương trình có thể tự động chỉnh sửa và viết các tệp Excel có thể thực sự hữu ích. Một chương trình như vậy có thể làm như sau:

  • Đọc dữ liệu từ một bảng tính và viết nó vào các phần của bảng tính khác.

  • Đọc dữ liệu từ các trang web, tệp văn bản hoặc bảng tạm và viết nó vào bảng tính.

  • Tự động làm sạch dữ liệu trên mạng trong bảng tính. Ví dụ, nó có thể sử dụng các biểu thức thông thường để đọc nhiều định dạng số điện thoại và chỉnh sửa chúng thành một định dạng tiêu chuẩn duy nhất.

Đặt kiểu phông chữ của các ô

Tạo kiểu cho một số ô, hàng hoặc cột có thể giúp bạn nhấn mạnh các khu vực quan trọng trong bảng tính của bạn. Ví dụ, trong bảng tính sản xuất, chương trình của bạn có thể áp dụng văn bản đậm cho các hàng khoai tây, tỏi và Parsnip. Hoặc có lẽ bạn muốn in nghiêng mỗi hàng với chi phí mỗi pound lớn hơn 5 đô la. Các bộ phận tạo kiểu của một bảng tính lớn bằng tay sẽ rất tẻ nhạt, nhưng các chương trình của bạn có thể làm điều đó ngay lập tức.

Để tùy chỉnh các kiểu phông chữ trong các ô, quan trọng, hãy nhập hàm

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
23 từ mô -đun
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
24.

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
4

Điều này cho phép bạn nhập

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
23 thay vì
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
26. (Xem Nhập các mô -đun để xem xét kiểu này của câu lệnh
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
27.)

Ở đây, một ví dụ tạo ra một sổ làm việc mới và đặt Cell A1 có phông chữ 24 điểm, được in nghiêng. Nhập phần sau vào vỏ tương tác:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
5

Một kiểu ô Cell có thể được đặt bằng cách gán đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
28 cho thuộc tính
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
29.

Trong ví dụ này,

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
30 trả về một đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
28, được lưu trữ trong
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
32. Các đối số từ khóa đến
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
23,
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
34 và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
35, định cấu hình đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
28. Và khi
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
37 được gán cho thuộc tính ô ____ ____238 ❷, tất cả thông tin kiểu chữ đó được áp dụng cho ô A1.

Đối tượng phông chữ

Để đặt các thuộc tính kiểu phông chữ, bạn chuyển các đối số từ khóa thành

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
23. Bảng & NBSP; 12-2 hiển thị các đối số từ khóa có thể cho hàm
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
23.

Bảng & NBSP; 12-2. & NBSP; đối số từ khóa cho phông chữ

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
29 thuộc tính

Từ khóa đối số

Loại dữ liệu

Sự mô tả

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
42

Sợi dây

Tên phông chữ, chẳng hạn như

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
43 hoặc
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
44

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
34

Số nguyên

Kích thước điểm

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
46

Boolean

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
47, cho phông chữ đậm

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
35

Boolean

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
47, cho phông chữ đậm

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
47, cho phông chữ in nghiêng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
6

Bạn có thể gọi

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
23 để tạo đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
28 và lưu trữ đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
28 trong một biến. Sau đó, bạn chuyển điều đó cho
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
53, lưu trữ đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
54 kết quả trong một biến và gán biến đó cho thuộc tính
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 đối tượng ____ ____222. Ví dụ: mã này tạo ra các kiểu phông chữ khác nhau:

Hướng dẫn what can python do in excel - Python có thể làm gì trong excel

Ở đây, chúng tôi lưu trữ một đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
28 trong
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
58 và sau đó đặt thuộc tính A1
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 đối tượng ____238 thành
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
58. Chúng tôi lặp lại quy trình với một đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
28 khác để đặt kiểu của ô thứ hai. Sau khi bạn chạy mã này, các kiểu của các ô A1 và B3 trong bảng tính sẽ được đặt thành các kiểu phông chữ tùy chỉnh, như trong Hình & NBSP; 12-4.

Hình & nbsp; 12-4. & Nbsp; một bảng tính có kiểu phông chữ tùy chỉnh

Công thức

Các công thức, bắt đầu với một dấu hiệu bằng nhau, có thể định cấu hình các ô để chứa các giá trị được tính toán từ các ô khác. Trong phần này, bạn sẽ sử dụng mô -đun

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
6 để lập trình thêm các công thức vào các ô, giống như bất kỳ giá trị bình thường nào. Ví dụ:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
7

Điều này sẽ lưu trữ = sum (b1: b8) là giá trị trong ô B9. Điều này đặt ô B9 thành một công thức tính toán tổng các giá trị trong các ô B1 đến B8. Bạn có thể thấy điều này trong hành động trong Hình & NBSP; 12-5.=SUM(B1:B8) as the value in cell B9. This sets the B9 cell to a formula that calculates the sum of values in cells B1 to B8. You can see this in action in Figure 12-5.

Hướng dẫn what can python do in excel - Python có thể làm gì trong excel

Hình & nbsp; 12-5. & NBSP; Cell B9 chứa công thức = sum (b1: b8), thêm các ô B1 vào B8.=SUM(B1:B8), which adds the cells B1 to B8.

Một công thức được đặt giống như bất kỳ giá trị văn bản nào khác trong ô. Nhập phần sau vào vỏ tương tác:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
8

Các tế bào trong A1 và A2 được đặt thành 200 và 300, tương ứng. Giá trị trong ô A3 được đặt thành một công thức tổng hợp các giá trị trong A1 và A2. Khi bảng tính được mở trong Excel, A3 sẽ hiển thị giá trị của nó là 500.

Các công thức Excel cung cấp một mức độ lập trình cho bảng tính nhưng có thể nhanh chóng trở nên không thể quản lý đối với các nhiệm vụ phức tạp. Ví dụ: ngay cả khi bạn quen thuộc sâu sắc với các công thức Excel, thì đó là một vấn đề đau đầu khi cố gắng giải mã cái gì = iferror (trim (if (Len (vlookup (f7, sheet2! $ A $ 1: $ b $ 10000, 2, false)) > 0, thay thế (vlookup (f7, sheet2! $ A $ 1: $ b $ 10000, 2, false) ,, Mã Python dễ đọc hơn nhiều.=IFERROR(TRIM(IF(LEN(VLOOKUP(F7, Sheet2!$A$1:$B$10000, 2, FALSE))>0,SUBSTITUTE(VLOOKUP(F7, Sheet2!$A$1:$B$10000, 2, FALSE), “ ”, “”),“”)), “”) actually does. Python code is much more readable.

Điều chỉnh các hàng và cột

Trong Excel, việc điều chỉnh kích thước của hàng và cột cũng dễ dàng như nhấp và kéo các cạnh của tiêu đề hàng hoặc cột. Nhưng nếu bạn cần đặt kích thước hàng hoặc cột, dựa trên nội dung của các ô của nó hoặc nếu bạn muốn đặt kích thước trong một số lượng lớn các tệp bảng tính, sẽ nhanh hơn nhiều khi viết chương trình Python để thực hiện.

Hàng và cột cũng có thể được ẩn hoàn toàn khỏi chế độ xem. Hoặc chúng có thể được đóng băng vào vị trí để chúng luôn hiển thị trên màn hình và xuất hiện trên mỗi trang khi bảng tính được in (rất tiện cho các tiêu đề).

Đặt chiều cao hàng và chiều rộng cột

Các đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2 có các thuộc tính
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
70 và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
71 kiểm soát chiều cao hàng và chiều rộng cột. Nhập cái này vào vỏ tương tác:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
9

Một tờ

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
70 và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
71 là các giá trị giống như từ điển;
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
70 chứa các đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
75 và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
71 chứa các đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
77. Trong
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
70, bạn có thể truy cập một trong các đối tượng bằng cách sử dụng số lượng hàng (trong trường hợp này là 1 hoặc 2). Trong
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
71, bạn có thể truy cập một trong các đối tượng bằng cách sử dụng chữ cái của cột (trong trường hợp này là A hoặc B).

Bảng tính kích thước.xlsx trông giống như Hình & nbsp; 12-6.dimensions.xlsx spreadsheet looks like Figure 12-6.

Hướng dẫn what can python do in excel - Python có thể làm gì trong excel

Hình & NBSP; 12-6. & NBSP; Hàng 1 và Cột B được đặt thành chiều cao và chiều rộng lớn hơn

Khi bạn có đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
75, bạn có thể đặt chiều cao của nó. Khi bạn có đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
77, bạn có thể đặt chiều rộng của nó. Chiều cao hàng có thể được đặt thành giá trị số nguyên hoặc nổi giữa
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
1 và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
83. Giá trị này đại diện cho chiều cao đo bằng các điểm, trong đó một điểm bằng 1/72 inch. Chiều cao hàng mặc định là 12,75. Chiều rộng cột có thể được đặt thành một giá trị số nguyên hoặc nổi giữa
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
1 và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
85. Giá trị này biểu thị số lượng ký tự ở kích thước phông chữ mặc định (11 điểm) có thể được hiển thị trong ô. Chiều rộng cột mặc định là 8,43 ký tự. Các cột có chiều rộng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
1 hoặc hàng có độ cao
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
1 được ẩn khỏi người dùng.points, where one point equals 1/72 of an inch. The default row height is 12.75. The column width can be set to an integer or float value between
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
1 and
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
85. This value represents the number of characters at the default font size (11 point) that can be displayed in the cell. The default column width is 8.43 characters. Columns with widths of
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
1 or rows with heights of
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
1 are hidden from the user.

Hợp nhất và không cung cấp các tế bào

Một khu vực hình chữ nhật của các tế bào có thể được hợp nhất vào một ô duy nhất với phương pháp tấm

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
88. Nhập phần sau vào vỏ tương tác:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
0

Đối số của

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
88 là một chuỗi duy nhất các ô trên cùng bên trái và dưới cùng bên phải của khu vực hình chữ nhật được hợp nhất:
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
90 hợp nhất 12 ô vào một ô. Để đặt giá trị của các ô được hợp nhất này, chỉ cần đặt giá trị của ô trên cùng bên trái của nhóm hợp nhất.

Khi bạn chạy mã này, hợp nhất.xlsx sẽ trông giống như hình & nbsp; 12-7.merged.xlsx will look like Figure 12-7.

Hướng dẫn what can python do in excel - Python có thể làm gì trong excel

Hình & NBSP; 12-7. & NBSP; Các ô được hợp nhất trong bảng tính

Đối với các ô không thể thay đổi, hãy gọi phương thức trang

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
91. Nhập cái này vào vỏ tương tác.

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
1

Nếu bạn lưu các thay đổi của mình và sau đó hãy xem bảng tính, bạn sẽ thấy rằng các ô được hợp nhất đã quay trở lại là các ô riêng lẻ.

Panes đóng băng

Đối với bảng tính quá lớn để được hiển thị tất cả cùng một lúc, nó rất hữu ích để đóng băng một vài trong số các hàng trên cùng hoặc các cột ngoài cùng bên trái trên màn hình. Ví dụ, các tiêu đề cột hoặc hàng đóng băng luôn được người dùng hiển thị ngay cả khi chúng cuộn qua bảng tính. Chúng được gọi là các tấm đóng băng. Trong openpyxl, mỗi đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2 có thuộc tính
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
93 có thể được đặt thành một đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 hoặc một chuỗi tọa độ ô. Lưu ý rằng tất cả các hàng ở trên và tất cả các cột ở bên trái của ô này sẽ bị đóng băng, nhưng hàng và cột của chính ô sẽ không bị đóng băng.freeze panes. In OpenPyXL, each
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2 object has a
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
93 attribute that can be set to a
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 object or a string of a cell’s coordinates. Note that all rows above and all columns to the left of this cell will be frozen, but the row and column of the cell itself will not be frozen.

Để giải phóng tất cả các tấm, đặt

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
93 thành
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
96 hoặc
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
97. Bảng & NBSP; 12-3 cho thấy các hàng và cột nào sẽ bị đóng băng cho một số cài đặt ví dụ
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
93.

Bảng & NBSP; 12-3. & NBSP; Ví dụ

Cài đặt

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
93

Hàng và cột đóng băng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
00

Hàng 1

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
01

Cột a

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
02

Cột A và B

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
03

Hàng 1 và cột a và b

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
04 hoặc
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
05

Không có các tấm đông lạnh

Hãy chắc chắn rằng bạn có bảng tính bán hàng sản xuất từ ​​http://nostarch.com/automatestuff/. Sau đó nhập phần sau vào vỏ tương tác:http://nostarch.com/automatestuff/. Then enter the following into the interactive shell:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
2

Nếu bạn đặt thuộc tính

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
93 thành
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
07, Hàng 1 sẽ luôn có thể xem được, bất kể người dùng cuộn trong bảng tính. Bạn có thể thấy điều này trong Hình & nbsp; 12-8.

Hướng dẫn what can python do in excel - Python có thể làm gì trong excel

Hình & nbsp; 12-8. & Nbsp; với

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> wb.get_sheet_names()
['Sheet1', 'Sheet2', 'Sheet3']
>>> sheet = wb.get_sheet_by_name('Sheet3')
>>> sheet
<Worksheet "Sheet3">
>>> type(sheet) <class 'openpyxl.worksheet.worksheet.Worksheet'>
>>> sheet.title
'Sheet3'
>>> anotherSheet = wb.active
>>> anotherSheet
<Worksheet "Sheet1">
93 được đặt thành
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
07, hàng 1 luôn hiển thị ngay cả khi người dùng cuộn xuống.

Biểu đồ

OpenPyXL hỗ trợ tạo biểu đồ thanh, dòng, phân tán và hình tròn bằng cách sử dụng dữ liệu trong một tấm tế bào. Để tạo biểu đồ, bạn cần phải làm như sau:

  1. Tạo một đối tượng

    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet['A1']
    <Cell Sheet1.A1>
    >>> sheet['A1'].value
    datetime.datetime(2015, 4, 5, 13, 34, 2)
    >>> c = sheet['B1']
    >>> c.value
    'Apples'
    >>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
    'Row 1, Column B is Apples'
    >>> 'Cell ' + c.coordinate + ' is ' + c.value
    'Cell B1 is Apples'
    >>> sheet['C1'].value
    73
    10 từ một lựa chọn hình chữ nhật của các ô.

  2. Tạo một đối tượng

    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet['A1']
    <Cell Sheet1.A1>
    >>> sheet['A1'].value
    datetime.datetime(2015, 4, 5, 13, 34, 2)
    >>> c = sheet['B1']
    >>> c.value
    'Apples'
    >>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
    'Row 1, Column B is Apples'
    >>> 'Cell ' + c.coordinate + ' is ' + c.value
    'Cell B1 is Apples'
    >>> sheet['C1'].value
    73
    11 bằng cách truyền trong đối tượng
    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet['A1']
    <Cell Sheet1.A1>
    >>> sheet['A1'].value
    datetime.datetime(2015, 4, 5, 13, 34, 2)
    >>> c = sheet['B1']
    >>> c.value
    'Apples'
    >>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
    'Row 1, Column B is Apples'
    >>> 'Cell ' + c.coordinate + ' is ' + c.value
    'Cell B1 is Apples'
    >>> sheet['C1'].value
    73
    10.

  3. Tạo một đối tượng

    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet['A1']
    <Cell Sheet1.A1>
    >>> sheet['A1'].value
    datetime.datetime(2015, 4, 5, 13, 34, 2)
    >>> c = sheet['B1']
    >>> c.value
    'Apples'
    >>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
    'Row 1, Column B is Apples'
    >>> 'Cell ' + c.coordinate + ' is ' + c.value
    'Cell B1 is Apples'
    >>> sheet['C1'].value
    73
    13.

  4. Nối đối tượng

    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet['A1']
    <Cell Sheet1.A1>
    >>> sheet['A1'].value
    datetime.datetime(2015, 4, 5, 13, 34, 2)
    >>> c = sheet['B1']
    >>> c.value
    'Apples'
    >>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
    'Row 1, Column B is Apples'
    >>> 'Cell ' + c.coordinate + ' is ' + c.value
    'Cell B1 is Apples'
    >>> sheet['C1'].value
    73
    11 vào đối tượng
    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet['A1']
    <Cell Sheet1.A1>
    >>> sheet['A1'].value
    datetime.datetime(2015, 4, 5, 13, 34, 2)
    >>> c = sheet['B1']
    >>> c.value
    'Apples'
    >>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
    'Row 1, Column B is Apples'
    >>> 'Cell ' + c.coordinate + ' is ' + c.value
    'Cell B1 is Apples'
    >>> sheet['C1'].value
    73
    13.

  5. Thêm đối tượng

    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet['A1']
    <Cell Sheet1.A1>
    >>> sheet['A1'].value
    datetime.datetime(2015, 4, 5, 13, 34, 2)
    >>> c = sheet['B1']
    >>> c.value
    'Apples'
    >>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
    'Row 1, Column B is Apples'
    >>> 'Cell ' + c.coordinate + ' is ' + c.value
    'Cell B1 is Apples'
    >>> sheet['C1'].value
    73
    13 vào đối tượng
    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet.max_row
    7
    >>> sheet.max_column
    3
    2, tùy chọn chỉ định ô nào góc trên bên trái của biểu đồ nên được định vị ..

Đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
10 yêu cầu một số giải thích. Các đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
10 được tạo bằng cách gọi hàm
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
20 và truyền ba đối số:

  1. Đối tượng

    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.get_sheet_by_name('Sheet1')
    >>> sheet.max_row
    7
    >>> sheet.max_column
    3
    2 chứa dữ liệu biểu đồ của bạn.

  2. Một tuple của hai số nguyên, đại diện cho ô trên cùng bên trái của lựa chọn hình chữ nhật của các ô chứa dữ liệu biểu đồ của bạn: Số nguyên đầu tiên trong tuple là hàng và thứ hai là cột. Lưu ý rằng

       >>> import openpyxl
       >>> wb = openpyxl.load_workbook('example.xlsx')
       >>> sheet = wb.get_sheet_by_name('Sheet1')
       >>> tuple(sheet['A1':'C3'])
       ((<Cell Sheet1.A1>, <Cell Sheet1.B1>, <Cell Sheet1.C1>), (<Cell Sheet1.A2>,
       <Cell Sheet1.B2>, <Cell Sheet1.C2>), (<Cell Sheet1.A3>, <Cell Sheet1.B3>,
       <Cell Sheet1.C3>))
    ❶ >>> for rowOfCellObjects in sheet['A1':'C3']:for cellObj in rowOfCellObjects:
                   print(cellObj.coordinate, cellObj.value)
               print('--- END OF ROW ---')
       A1 2015-04-05 13:34:02
       B1 Apples
       C1 73
       --- END OF ROW ---
       A2 2015-04-05 03:41:23
       B2 Cherries
       C2 85
       --- END OF ROW ---
       A3 2015-04-06 12:46:51
       B3 Pears
       C3 14
       --- END OF ROW ---
    0 là hàng đầu tiên, không phải
    >>> import openpyxl
    >>> wb = openpyxl.load_workbook('example.xlsx')
    >>> sheet = wb.active
    >>> sheet.columns[1]
    (<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
    <Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
    >>> for cellObj in sheet.columns[1]:
            print(cellObj.value)
    
    Apples
    Cherries
    Pears
    Oranges
    Apples
    Bananas
    Strawberries
    1.

  3. Một tuple của hai số nguyên, đại diện cho ô dưới cùng bên phải của lựa chọn hình chữ nhật của các ô chứa dữ liệu biểu đồ của bạn: Số nguyên đầu tiên trong tuple là hàng và thứ hai là cột.

Hình & NBSP; 12-9 cho thấy một số đối số tọa độ mẫu.

Hướng dẫn what can python do in excel - Python có thể làm gì trong excel

Hình & nbsp; 12-9. & Nbsp; từ trái sang phải:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
24;
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
25;
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
26

Nhập ví dụ Shell tương tác này để tạo biểu đồ thanh và thêm nó vào bảng tính:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
3

Điều này tạo ra một bảng tính trông giống như hình & nbsp; 12-10.

Hướng dẫn what can python do in excel - Python có thể làm gì trong excel

Hình & nbsp; 12-10. & Nbsp; một bảng tính với biểu đồ được thêm

Chúng tôi đã tạo ra một biểu đồ thanh bằng cách gọi

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
27. Bạn cũng có thể tạo biểu đồ dòng, biểu đồ phân tán và biểu đồ hình tròn bằng cách gọi
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
28,
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
29 và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
30.

Thật không may, trong phiên bản hiện tại của OpenPyXL (2.3.3), hàm

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
31 không tải biểu đồ trong các tệp Excel. Ngay cả khi tệp Excel có biểu đồ, đối tượng
>>> sheet.cell(row=1, column=2)
<Cell Sheet1.B1>
>>> sheet.cell(row=1, column=2).value
'Apples'
>>> for i in range(1, 8, 2):
        print(i, sheet.cell(row=i, column=2).value)

1 Apples
3 Pears
5 Apples
7 Strawberries
6 đã tải sẽ không bao gồm chúng. Nếu bạn tải một đối tượng
>>> sheet.cell(row=1, column=2)
<Cell Sheet1.B1>
>>> sheet.cell(row=1, column=2).value
'Apples'
>>> for i in range(1, 8, 2):
        print(i, sheet.cell(row=i, column=2).value)

1 Apples
3 Pears
5 Apples
7 Strawberries
6 và ngay lập tức lưu nó vào cùng tên tệp .xlsx, bạn sẽ loại bỏ hiệu quả các biểu đồ khỏi nó..xlsx filename, you will effectively remove the charts from it.

Bản tóm tắt

Thông thường, phần khó của thông tin xử lý không phải là tự xử lý mà chỉ đơn giản là lấy dữ liệu ở định dạng phù hợp cho chương trình của bạn. Nhưng một khi bạn có bảng tính của bạn được tải vào Python, bạn có thể trích xuất và thao tác dữ liệu của nó nhanh hơn nhiều so với bằng tay.

Bạn cũng có thể tạo bảng tính dưới dạng đầu ra từ các chương trình của bạn. Vì vậy, nếu các đồng nghiệp cần tệp văn bản của bạn hoặc PDF gồm hàng ngàn liên hệ bán hàng được chuyển vào tệp bảng tính, bạn đã giành chiến thắng để sao chép và dán tất cả vào Excel.

Được trang bị mô -đun

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
6 và một số kiến ​​thức lập trình, bạn sẽ tìm thấy việc xử lý ngay cả bảng tính lớn nhất là một miếng bánh.

Thực hành câu hỏi

Đối với các câu hỏi sau, hãy tưởng tượng bạn có một đối tượng

>>> sheet.cell(row=1, column=2)
<Cell Sheet1.B1>
>>> sheet.cell(row=1, column=2).value
'Apples'
>>> for i in range(1, 8, 2):
        print(i, sheet.cell(row=i, column=2).value)

1 Apples
3 Pears
5 Apples
7 Strawberries
6 trong biến
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
36, đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2 trong
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
38, đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 trong
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
40, đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
41 trong
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
42 và một đối tượng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
43 trong ____.

Q:

1. Hàm

>>> sheet.cell(row=1, column=2)
<Cell Sheet1.B1>
>>> sheet.cell(row=1, column=2).value
'Apples'
>>> for i in range(1, 8, 2):
        print(i, sheet.cell(row=i, column=2).value)

1 Apples
3 Pears
5 Apples
7 Strawberries
3 trở lại là gì?

Q:

2. Phương pháp sổ làm việc

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
1 trở lại?

Q:

3. Làm thế nào bạn sẽ truy xuất đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2 cho một tờ có tên
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
48?

Q:

4. Làm thế nào bạn sẽ truy xuất đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
2 cho bảng hoạt động của sổ làm việc?

Q:

5. Làm thế nào bạn sẽ lấy lại giá trị trong ô C5?

Q:

6. Làm thế nào bạn sẽ đặt giá trị trong ô C5 thành

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
50?

Q:

7. Làm thế nào bạn sẽ lấy lại hàng và cột ô như số nguyên?

Q:

8. Phương thức trang tính

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
02 và
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> type(wb)
<class 'openpyxl.workbook.workbook.Workbook'>
01 trả về và loại dữ liệu của các giá trị trả về này là gì?

Q:

9. Nếu bạn cần lấy chỉ mục số nguyên cho cột

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
53, bạn cần gọi là chức năng nào?

Q:

10. Nếu bạn cần lấy tên chuỗi cho cột

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
54, bạn cần gọi chức năng nào?

Q:

11. Làm thế nào bạn có thể truy xuất một tuple của tất cả các đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet.max_row
7
>>> sheet.max_column
3
9 từ A1 đến F1?

Q:

12. Làm thế nào bạn sẽ lưu sổ làm việc vào ví dụ tên tệp.xlsx?example.xlsx?

Q:

13. Làm thế nào để bạn đặt một công thức trong một ô?

Q:

15. Làm thế nào bạn sẽ đặt chiều cao của hàng 5 đến 100?

Q:

16. Làm thế nào bạn ẩn cột C?

Q:

17. Đặt tên cho một vài tính năng mà OpenPyXL 2.3.3 không tải từ tệp bảng tính.

Q:

18. Khối đóng băng là gì?

Q:

19. Bạn phải gọi năm chức năng và phương pháp nào để tạo biểu đồ thanh?

Thực hành các dự án

Để thực hành, hãy viết các chương trình thực hiện các nhiệm vụ sau.

Nhà sản xuất bảng nhân

Tạo một chương trình nhân đa dạng.py lấy số N từ dòng lệnh và tạo bảng nhân N × N trong bảng tính Excel. Ví dụ: khi chương trình được chạy như thế này:multiplicationTable.py that takes a number N from the command line and creates an N×N multiplication table in an Excel spreadsheet. For example, when the program is run like this:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
4

... Nó sẽ tạo ra một bảng tính trông giống như hình & nbsp; 12-11.

Hướng dẫn what can python do in excel - Python có thể làm gì trong excel

Hình & NBSP; 12-11. & NBSP; Bảng nhân được tạo trong bảng tính

Hàng 1 và cột A nên được sử dụng cho các nhãn và nên in đậm.

Chú ý hàng trống

Tạo một chương trình BlankRowInserter.py lấy hai số nguyên và chuỗi tệp làm đối số dòng lệnh. Hãy gọi cho số nguyên đầu tiên N và số nguyên thứ hai M. Bắt đầu từ hàng n, chương trình sẽ chèn m các hàng trống vào bảng tính. Ví dụ: khi chương trình được chạy như thế này:blankRowInserter.py that takes two integers and a filename string as command line arguments. Let’s call the first integer N and the second integer M. Starting at row N, the program should insert M blank rows into the spreadsheet. For example, when the program is run like this:

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
5

... Các bảng tính trước và sau khi các bảng tính của người khác sẽ trông giống như hình & nbsp; 12-12.

Hướng dẫn what can python do in excel - Python có thể làm gì trong excel

Hình & nbsp; 12-12. & Nbsp; trước (trái) và sau (phải), hai hàng trống được chèn ở hàng 3

Bạn có thể viết chương trình này bằng cách đọc nội dung của bảng tính. Sau đó, khi viết ra bảng tính mới, hãy sử dụng vòng lặp

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
9 để sao chép các dòng N đầu tiên. Đối với các dòng còn lại, thêm m vào số hàng trong bảng tính đầu ra.N lines. For the remaining lines, add M to the row number in the output spreadsheet.

Biến tần ô bảng tính

Viết một chương trình để đảo ngược hàng và cột của các ô trong bảng tính. Ví dụ: giá trị ở hàng 5, cột 3 sẽ ở hàng 3, cột 5 (và ngược lại). Điều này nên được thực hiện cho tất cả các ô trong bảng tính. Ví dụ, các bảng tính trước khi và các bảng tính sau khi các bảng tính sẽ trông giống như hình & nbsp; 12-13.

Hướng dẫn what can python do in excel - Python có thể làm gì trong excel

Hình & nbsp; 12-13. & Nbsp; bảng tính trước (trên cùng) và sau (dưới cùng) đảo ngược

Bạn có thể viết chương trình này bằng cách sử dụng các vòng lặp

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.active
>>> sheet.columns[1]
(<Cell Sheet1.B1>, <Cell Sheet1.B2>, <Cell Sheet1.B3>, <Cell Sheet1.B4>,
<Cell Sheet1.B5>, <Cell Sheet1.B6>, <Cell Sheet1.B7>)
>>> for cellObj in sheet.columns[1]:
        print(cellObj.value)

Apples
Cherries
Pears
Oranges
Apples
Bananas
Strawberries
9 lồng nhau để đọc trong bảng tính dữ liệu của bảng tính vào danh sách cấu trúc dữ liệu danh sách. Cấu trúc dữ liệu này có thể có
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
58 cho ô tại cột
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
59 và hàng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
60. Sau đó, khi viết ra bảng tính mới, hãy sử dụng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
61 cho ô tại cột
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
59 và hàng
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
60.

Tệp văn bản đến bảng tính

Viết một chương trình để đọc nội dung của một số tệp văn bản (bạn có thể tự tạo tệp văn bản) và chèn các nội dung đó vào bảng tính, với một dòng văn bản mỗi hàng. Các dòng của tệp văn bản đầu tiên sẽ nằm trong các ô của cột A, các dòng của tệp văn bản thứ hai sẽ nằm trong các ô của cột B, v.v.

Sử dụng phương thức đối tượng

>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
64 để trả về danh sách các chuỗi, một chuỗi trên mỗi dòng trong tệp. Đối với tệp đầu tiên, xuất dòng đầu tiên vào cột 1, hàng 1. Dòng thứ hai phải được ghi vào cột 1, hàng 2, v.v. Tệp tiếp theo được đọc với
>>> import openpyxl
>>> wb = openpyxl.load_workbook('example.xlsx')
>>> sheet = wb.get_sheet_by_name('Sheet1')
>>> sheet['A1']
<Cell Sheet1.A1>
>>> sheet['A1'].value
datetime.datetime(2015, 4, 5, 13, 34, 2)
>>> c = sheet['B1']
>>> c.value
'Apples'
>>> 'Row ' + str(c.row) + ', Column ' + c.column + ' is ' + c.value
'Row 1, Column B is Apples'
>>> 'Cell ' + c.coordinate + ' is ' + c.value
'Cell B1 is Apples'
>>> sheet['C1'].value
73
65 sẽ được ghi vào cột 2, tệp tiếp theo cho cột 3, v.v.

Bảng tính đến tệp văn bản

Viết một chương trình thực hiện các tác vụ của chương trình trước theo thứ tự ngược lại: Chương trình nên mở một bảng tính và ghi các ô của cột A vào một tệp văn bản, các ô của cột B vào một tệp văn bản khác, v.v.