Gấu trúc python đọc các hàng cụ thể của excel

Trước khi đọc một file excel trong pandas, chúng ta cần cài đặt thư viện openpyxl. Đây là thư viện phụ thuộc cần thiết để đọc và ghi tệp excel trong pandas

Trong Terminal trên Mac hoặc Dòng lệnh trong windows, trước tiên hãy chạy lệnh sau

pip install openpyxl

Và trong bài đăng này, chúng tôi sẽ làm việc với tệp mẫu này mà bạn có thể tải xuống từ đây – liên kết tải xuống dữ liệu

Ở đây, chúng tôi có một số dữ liệu bán hàng trong nhiều trang tính và chúng tôi muốn đọc những dữ liệu này bằng pandas. hãy xem làm thế nào để làm điều đó

Đầu tiên để lấy tên của tất cả các sheet trong file excel ta có thể sử dụng lệnh pd. Tệp Excel[]

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names

giả sử chúng ta muốn đọc dữ liệu Đơn đặt hàng 1. Để làm điều đó, chúng ta cần chuyển tên trang tính cho tham số sheet_name trong pandas.

df = pd.read_excel['reading_excel_file.xlsx', sheet_name='Purchase Orders 1']

2. Cách bỏ qua hàng khi đọc tệp excel trong pandas

Nếu bạn muốn bỏ qua số n hàng từ trên xuống, bạn cần sử dụng tham số bỏ qua

Giả sử chúng ta muốn bỏ qua 2 hàng đầu tiên khi đọc tệp

df = pd.read_excel['reading_excel_file.xlsx', 
                   sheet_name='Purchase Orders 1',
                  skiprows=2]

Chúng ta có thể thấy rằng hai hàng trên cùng đã bị bỏ qua khỏi kết quả.

Và nếu bạn muốn bỏ qua n hàng từ cuối, bạn có thể sử dụng tham số skipfooter

Giả sử chúng ta muốn bỏ qua 3 hàng từ cuối

df = pd.read_excel['reading_excel_file.xlsx', 
                   sheet_name='Purchase Orders 1',
                  skipfooter=3]

3. Cách bỏ qua các cột khi đọc tệp excel trong gấu trúc.

Để bỏ cột khi đọc file excel, bạn có thể sử dụng tham số usecols của read_excel

giả sử tôi chỉ quan tâm đến việc đọc các cột từ ID sản phẩm đến Số lượng đặt hàng

df = pd.read_excel['reading_excel_file.xlsx', 
                   sheet_name='Purchase Orders 1',
                  usecols='C:F']

Bây giờ, giả sử bạn muốn chọn hai cột đầu tiên và hai cột cuối cùng. Để làm điều đó, bạn sẽ viết

df = pd.read_excel['reading_excel_file.xlsx', 
                   sheet_name='Purchase Orders 1',
                  usecols='A:B, H:I']

4. Cách đọc tệp excel trong gấu trúc có tiêu đề

Đôi khi có thể xảy ra trường hợp dữ liệu mà bạn muốn làm việc không bắt đầu từ hàng đầu tiên. Hãy sao chép dữ liệu bán hàng sang một tệp excel mới và thêm một số dòng trống trước dữ liệu để chứng minh rằng

Bây giờ, nếu bạn nhìn vào hình bên dưới, bạn có thể thấy rằng dữ liệu không bắt đầu từ hàng đầu tiên. Có rất nhiều hàng trống mà gấu trúc điền vào NaN [Không phải là số] và tên cột cũng được đặt tên là Chưa đặt tên

Chúng tôi sẽ tiếp tục tập này từ nơi chúng tôi đã dừng lại trong tập trước. Nếu bạn đã khởi động lại Jupyter hoặc bạn muốn sử dụng sổ ghi chép mới, hãy đảm bảo rằng bạn đã nhập pandas và đã đọc SN7577. tập dữ liệu tab vào Dataframe

import pandas as pd
df_SN7577 = pd.read_csv["SN7577.tab", sep='\t']

Chọn các hàng và cột từ Dataframe gấu trúc

Nếu chúng tôi biết cột nào chúng tôi muốn trước khi đọc dữ liệu từ tệp, chúng tôi có thể yêu cầu

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
8 chỉ nhập các cột đó bằng cách chỉ định các cột theo số chỉ mục của chúng [bắt đầu từ 0] dưới dạng danh sách cho tham số
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
9. Ngoài ra, chúng tôi cũng có thể cung cấp danh sách tên cột

________số 8

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
1

Bây giờ chúng ta hãy giả sử rằng chúng ta đã đọc trong tệp hoàn chỉnh hiện có trong Dataframe

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
10, làm thế nào bây giờ chúng ta có thể tham chiếu đến các cột cụ thể?

Có hai cách để thực hiện việc này bằng cách sử dụng tên cột [hoặc nhãn]

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
3

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
4

Nếu chúng tôi quan tâm đến nhiều cột, phương pháp thứ 2 ở trên không thể được sử dụng. Tuy nhiên, trong lần đầu tiên, mặc dù chúng tôi đã sử dụng một chuỗi có giá trị là

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
11 nhưng chúng tôi cũng có thể cung cấp một danh sách các chuỗi. Hãy nhớ rằng các danh sách được đính kèm trong
sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
12

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
7

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
8

Tập thể dục

Điều gì xảy ra nếu bạn

  1. Liệt kê các cột bạn muốn sắp xếp theo thứ tự chúng xuất hiện trong tệp?
  2. Đặt cùng một tên cột trong hai lần?
  3. Đặt tên cột không tồn tại? . k. một lỗi đánh máy]

Dung dịch

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
9

Lọc theo hàng

Bạn có thể lọc Khung dữ liệu theo hàng bằng cách chỉ định một phạm vi ở dạng

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
13.
sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
14 là hàng đầu tiên và
sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
15 là hàng ngoài hàng cuối cùng được yêu cầu

df = pd.read_excel['reading_excel_file.xlsx', sheet_name='Purchase Orders 1']
3

Tập thể dục

Điều gì xảy ra nếu chúng tôi yêu cầu một hàng thay vì một phạm vi?

Dung dịch

df = pd.read_excel['reading_excel_file.xlsx', sheet_name='Purchase Orders 1']
4

Bạn gặp lỗi nếu chỉ xác định

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
16. Bạn cần sử dụng
sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
17 hoặc
sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
18 để trả về hàng đầu tiên.
sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
19 luôn được yêu cầu. Bạn có thể sử dụng chính
sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
19 để trả về tất cả các hàng

Sử dụng tiêu chí để lọc hàng

Có nhiều khả năng bạn sẽ muốn chọn các hàng từ Khung dữ liệu dựa trên một số tiêu chí, chẳng hạn như “tất cả các hàng có giá trị cho Q2 là -1”

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
0

Các tiêu chí có thể phức tạp hơn và không giới hạn ở các giá trị của một cột

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
1

Ta có thể kết hợp chọn hàng với chọn cột

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
2

Việc chọn các hàng trên chỉ mục hàng được sử dụng hạn chế trừ khi bạn cần chọn một phạm vi hàng liền kề

Tuy nhiên, có một cách khác để chọn hàng bằng cách sử dụng chỉ mục hàng

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
3

Sử dụng phương pháp

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
31 cho kết quả giống như ví dụ trước của chúng tôi

Tuy nhiên, bây giờ chúng ta có thể chỉ định một giá trị duy nhất và quan trọng hơn là chúng ta có thể sử dụng hàm

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
32 để chỉ ra các bản ghi mà chúng ta muốn. Điều này có thể hữu ích để thực hiện các lựa chọn giả ngẫu nhiên của các hàng từ khắp Khung dữ liệu

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
4

Bạn cũng có thể chỉ định phạm vi cột bằng cách sử dụng lại phương pháp

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
31 bằng cách sử dụng số chỉ mục cột

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
5

Ngoài ra còn có một phương thức

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
34 cho phép bạn sử dụng tên cột

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
6

Lấy mẫu

Pandas có phương thức

sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
sheets_names
35 cho phép bạn trích xuất một mẫu bản ghi từ Dataframe

df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
print[df_SN7577_some_cols.shape]
print[df_SN7577_some_cols.columns]
df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
print[df_SN7577_some_cols.columns]
7

Những điểm chính

  • Nhập các cột cụ thể khi đọc trong một. csv với tham số

    df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= [0,1,2,173,174,175]]
    print[df_SN7577_some_cols.shape]
    print[df_SN7577_some_cols.columns]
    df_SN7577_some_cols = pd.read_csv["SN7577.tab", sep='\t', usecols= ['Q1', 'Q2', 'Q3', 'sex', 'age', 'agegroups']]
    print[df_SN7577_some_cols.columns]
    
    9

  • Chúng ta có thể dễ dàng xâu chuỗi các điều kiện boolean khi lọc các hàng của khung dữ liệu gấu trúc

  • Các phương thức

    sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
    sheets_names
    34 và
    sheets_names = pd.ExcelFile['reading_excel_file.xlsx'].sheet_names
    sheets_names
    31 cho phép chúng tôi lấy các hàng có nhãn cụ thể và tại các vị trí số nguyên cụ thể tương ứng

    Làm cách nào để đọc excel bằng gấu trúc trong Python?

    Cách đọc nhiều trang tính từ một tệp Excel trong Pandas? .
    nhập gấu trúc dưới dạng pd Sheet1=pd. read_excel['/content/Subject_Scores. xlsx', sheet_name=0] Sheet2=pd. read_excel['/content/Subject_Scores. xlsx', sheet_name=1] print["Trang tính 1. \n",Sheet1] print[] print["Sheet1. \n",Trang tính 2]
    Tờ1. Cuộn

    Cách hiển thị các hàng và cột cụ thể trong gấu trúc?

    Để chọn một số hàng và cột cụ thể, bạn có thể thực hiện các thao tác sau bằng cách sử dụng. lộc . Để chọn một giá trị từ DataFrame, bạn có thể làm như sau. Bạn có thể sử dụng cắt để chọn một cột cụ thể.

Chủ Đề