Pandas vượt trội với tiêu đề

gấu trúc. hàm read_excel() được sử dụng để đọc bảng excel có phần mở rộng xlsx vào DataFrame của gấu trúc. Bằng cách đọc một trang tính, nó trả về một đối tượng DataFrame của gấu trúc, nhưng đọc hai trang tính, nó trả về Dict of DataFrame

gấu trúc Đọc các điểm chính của Excel

  • Điều này hỗ trợ đọc các tệp có phần mở rộng xls, xlsx, xlsm, xlsb, odf, ods và odt
  • Có thể tải các tệp excel được lưu trữ trong hệ thống tệp cục bộ hoặc từ một URL
  • Đối với URL, nó hỗ trợ http, ftp, s3 và tệp
  • Cũng hỗ trợ đọc từ một trang tính hoặc danh sách các trang tính
  • Khi đọc hai trang tính, nó sẽ trả về Dict của DataFrame

Mục lục -

Tôi có một tệp excel với hai trang tính có tên là


# Read excel by considering first row as data
columns = ['courses','course_fee','course_duration','course_discount']
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   header=None, names = columns)
print(df2)

# Outputs        
#0  courses  course_fee  Duration  Discount
#1    Spark  25000   50 Days      2000
#2   Pandas  20000   35 Days      1000
#3     Java  15000       NaN       800
#4   Python  15000   30 Days       500
#5      PHP  18000   30 Days       800
1 và

# Read excel by considering first row as data
columns = ['courses','course_fee','course_duration','course_discount']
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   header=None, names = columns)
print(df2)

# Outputs        
#0  courses  course_fee  Duration  Discount
#1    Spark  25000   50 Days      2000
#2   Pandas  20000   35 Days      1000
#3     Java  15000       NaN       800
#4   Python  15000   30 Days       500
#5      PHP  18000   30 Days       800
2, tôi sẽ sử dụng tệp này để trình bày cách đọc vào DataFrame của gấu trúc.

Pandas vượt trội với tiêu đề
Pandas vượt trội với tiêu đề

Lưu ý rằng trên tệp excel của chúng tôi, hàng trên cùng chứa tiêu đề của bảng có thể được sử dụng làm tên cột trên DataFrame

1. gấu trúc Đọc bảng tính Excel

sử dụng gấu trúc. read_excel() để đọc bảng excel vào DataFrame của gấu trúc, theo mặc định, nó tải trang đầu tiên từ tệp excel và phân tích hàng đầu tiên dưới dạng tên cột DataFrame. Tệp Excel có phần mở rộng. xlsx. Chức năng này cũng hỗ trợ một số tiện ích mở rộng xls, xlsx, xlsm, xlsb, odf, ods và odt

Sau đây là một số tính năng được hỗ trợ bởi read_excel() với tham số tùy chọn

  • Đọc tệp excel từ URL, S3 và từ quảng cáo tệp cục bộ hỗ trợ một số tiện ích mở rộng
  • Bỏ qua tên cột và cung cấp tùy chọn đặt tên cột
  • Đặt cột làm Chỉ mục
  • Coi nhiều giá trị là NaN
  • Điểm thập phân để sử dụng cho số
  • Kiểu dữ liệu cho mỗi cột
  • Bỏ qua hàng và cột

Tôi sẽ giới thiệu cách sử dụng một số tham số tùy chọn này với các ví dụ, trước tiên hãy xem cách đọc bảng excel và tạo DataFrame mà không cần bất kỳ tham số nào


import pandas as pd
# Read Excel file
df = pd.read_excel('c:/apps/courses_schedule.xlsx')
print(df)

# Outputs
#   Courses    Fee  Duration  Discount
#0    Spark  25000   50 Days      2000
#1   Pandas  20000   35 Days      1000
#2     Java  15000       NaN       800
#3   Python  15000   30 Days       500
#4      PHP  18000   30 Days       800

Có liên quan. pandas Ghi vào bảng tính Excel

2. Đọc bằng cách bỏ qua tên cột

Theo mặc định, nó coi hàng đầu tiên từ excel làm tiêu đề và sử dụng nó làm tên cột DataFrame. Trong trường hợp bạn muốn coi hàng đầu tiên từ excel là bản ghi dữ liệu, hãy sử dụng tham số


# Read excel by considering first row as data
columns = ['courses','course_fee','course_duration','course_discount']
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   header=None, names = columns)
print(df2)

# Outputs        
#0  courses  course_fee  Duration  Discount
#1    Spark  25000   50 Days      2000
#2   Pandas  20000   35 Days      1000
#3     Java  15000       NaN       800
#4   Python  15000   30 Days       500
#5      PHP  18000   30 Days       800
3 và sử dụng tham số tên để chỉ định tên cột. Không chỉ định tên dẫn đến tên cột có số


# Read excel by considering first row as data
columns = ['courses','course_fee','course_duration','course_discount']
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   header=None, names = columns)
print(df2)

# Outputs        
#0  courses  course_fee  Duration  Discount
#1    Spark  25000   50 Days      2000
#2   Pandas  20000   35 Days      1000
#3     Java  15000       NaN       800
#4   Python  15000   30 Days       500
#5      PHP  18000   30 Days       800

3. Đặt Cột từ Excel làm Chỉ mục

Nếu bạn để ý, DataFrame đã được tạo với chỉ mục mặc định, nếu bạn muốn đặt tên cột làm chỉ mục, hãy sử dụng tham số


# Read excel by considering first row as data
columns = ['courses','course_fee','course_duration','course_discount']
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   header=None, names = columns)
print(df2)

# Outputs        
#0  courses  course_fee  Duration  Discount
#1    Spark  25000   50 Days      2000
#2   Pandas  20000   35 Days      1000
#3     Java  15000       NaN       800
#4   Python  15000   30 Days       500
#5      PHP  18000   30 Days       800
4. Tham số này nhận các giá trị {int, danh sách int, mặc định Không có}. Nếu một danh sách được chuyển với các vị trí tiêu đề, nó sẽ tạo ra một MultiIndex

Theo mặc định, nó được đặt thành


# Read excel by considering first row as data
columns = ['courses','course_fee','course_duration','course_discount']
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   header=None, names = columns)
print(df2)

# Outputs        
#0  courses  course_fee  Duration  Discount
#1    Spark  25000   50 Days      2000
#2   Pandas  20000   35 Days      1000
#3     Java  15000       NaN       800
#4   Python  15000   30 Days       500
#5      PHP  18000   30 Days       800
5 nghĩa là cột không được đặt làm chỉ mục


# Read excel by setting column as index
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   index_col=0)
print(df2)

# Outputs
#           Fee Duration  Discount
#Courses                          
#Spark    25000  50 Days      2000
#Pandas   20000  35 Days      1000
#Java     15000      NaN       800
#Python   15000  30 Days       500
#PHP      18000  30 Days       800

4. Đọc Excel theo tên trang tính

Như tôi đã nói ở phần trên, theo mặc định, gấu trúc đọc trang đầu tiên từ tệp excel và cung cấp thông số


# Read excel by considering first row as data
columns = ['courses','course_fee','course_duration','course_discount']
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   header=None, names = columns)
print(df2)

# Outputs        
#0  courses  course_fee  Duration  Discount
#1    Spark  25000   50 Days      2000
#2   Pandas  20000   35 Days      1000
#3     Java  15000       NaN       800
#4   Python  15000   30 Days       500
#5      PHP  18000   30 Days       800
6 để đọc một trang cụ thể theo tên. Thông số này lấy {str, int, list hoặc None} làm giá trị. Điều này cũng được sử dụng để tải một trang tính theo vị trí

Theo mặc định, nó được đặt thành 0 nghĩa là tải trang đầu tiên


# Read specific excel sheet
df = pd.read_excel('records.xlsx', sheet_name='Sheet1')
print(df)

5. đọc hai tờ


# Read excel by considering first row as data
columns = ['courses','course_fee','course_duration','course_discount']
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   header=None, names = columns)
print(df2)

# Outputs        
#0  courses  course_fee  Duration  Discount
#1    Spark  25000   50 Days      2000
#2   Pandas  20000   35 Days      1000
#3     Java  15000       NaN       800
#4   Python  15000   30 Days       500
#5      PHP  18000   30 Days       800
6 param cũng lấy danh sách tên trang tính làm giá trị có thể được sử dụng để đọc hai trang tính vào DataFrame của gấu trúc. Không phải trong khi đọc hai trang tính, nó sẽ trả về Dict of DataFrame. Khóa trong Dict là tên trang tính và giá trị sẽ là DataFrame

Sử dụng


# Read excel by considering first row as data
columns = ['courses','course_fee','course_duration','course_discount']
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   header=None, names = columns)
print(df2)

# Outputs        
#0  courses  course_fee  Duration  Discount
#1    Spark  25000   50 Days      2000
#2   Pandas  20000   35 Days      1000
#3     Java  15000       NaN       800
#4   Python  15000   30 Days       500
#5      PHP  18000   30 Days       800
5 để tải tất cả các trang tính từ excel và trả về Dict of Dictionary


# Read Multiple sheets
dict_df = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   sheet_name=['Technologies','Schedule'])

# Get DataFrame from Dict
technologies_df = dict_df .get('Technologies')
schedule_df = dict_df.get('Schedule')

# Print DataFrame's
print(technologies_df)
print(schedule_df)

Tôi sẽ để việc này cho bạn thực hiện và xác thực đầu ra

6. Bỏ qua các cột từ trang tính Excel

Đôi khi, khi đọc một bảng excel vào DataFrame của gấu trúc, bạn có thể cần bỏ qua các cột, bạn có thể thực hiện việc này bằng cách sử dụng tham số


# Read excel by considering first row as data
columns = ['courses','course_fee','course_duration','course_discount']
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   header=None, names = columns)
print(df2)

# Outputs        
#0  courses  course_fee  Duration  Discount
#1    Spark  25000   50 Days      2000
#2   Pandas  20000   35 Days      1000
#3     Java  15000       NaN       800
#4   Python  15000   30 Days       500
#5      PHP  18000   30 Days       800
9. Cái này nhận các giá trị {int, str, list-like, hoặc callable default Không}. Để chỉ định danh sách tên cột hoặc vị trí, hãy sử dụng danh sách chuỗi hoặc danh sách int

Theo mặc định, nó được đặt thành Không có nghĩa là tải tất cả các cột


# Read excel by skipping columns
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   usecols=['Courses', 'Duration'])
print(df2)
# Outputs
#  Courses Duration
#0   Spark  50 Days
#1  Pandas  35 Days
#2    Java      NaN
#3  Python  30 Days
#4     PHP  30 Days

Ngoài ra, bạn cũng có thể viết theo vị trí cột


# Skip columns with list of values
df = pd.read_excel('records.xlsx', usecols=[0,2])
print(df)

Cũng hỗ trợ một loạt các cột như giá trị. Ví dụ: giá trị 'B. D’ có nghĩa là phân tích các cột B, C và D


# Skip columns by range
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   usecols='B:D')
print(df2)

     Fee Duration  Discount
0  25000  50 Days      2000
1  20000  35 Days      1000
2  15000      NaN       800
3  15000  30 Days       500
4  18000  30 Days       800

7. Bỏ qua hàng từ trang tính Excel

Sử dụng tham số


# Read excel by setting column as index
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   index_col=0)
print(df2)

# Outputs
#           Fee Duration  Discount
#Courses                          
#Spark    25000  50 Days      2000
#Pandas   20000  35 Days      1000
#Java     15000      NaN       800
#Python   15000  30 Days       500
#PHP      18000  30 Days       800
0 để bỏ qua các hàng từ tệp excel, tham số này nhận các giá trị {list-like, int hoặc callable, optional}. Với điều này, bạn có thể bỏ qua một vài hàng đầu tiên, hàng đã chọn và phạm vi hàng. Ví dụ dưới đây bỏ qua 3 hàng đầu tiên và coi hàng thứ 4 từ excel là tiêu đề


# Read excel file by skipping rows
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   skiprows=2)
print(df2)

   Pandas  20000  35 Days  1000
0    Java  15000      NaN   800
1  Python  15000  30 Days   500
2     PHP  18000  30 Days   800

Sử dụng


# Read excel by considering first row as data
columns = ['courses','course_fee','course_duration','course_discount']
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   header=None, names = columns)
print(df2)

# Outputs        
#0  courses  course_fee  Duration  Discount
#1    Spark  25000   50 Days      2000
#2   Pandas  20000   35 Days      1000
#3     Java  15000       NaN       800
#4   Python  15000   30 Days       500
#5      PHP  18000   30 Days       800
3 để coi hàng thứ 4 là dữ liệu. bạn cũng có thể sử dụng danh sách các hàng để bỏ qua


# Using skiprows to skip rows
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   skiprows=[1,3])
print(df2)

  Courses    Fee Duration  Discount
0  Pandas  20000  35 Days      1000
1  Python  15000  30 Days       500
2     PHP  18000  30 Days       800

Bằng cách sử dụng biểu thức lambda


# Read excel by considering first row as data
columns = ['courses','course_fee','course_duration','course_discount']
df2 = pd.read_excel('c:/apps/courses_schedule.xlsx', 
                   header=None, names = columns)
print(df2)

# Outputs        
#0  courses  course_fee  Duration  Discount
#1    Spark  25000   50 Days      2000
#2   Pandas  20000   35 Days      1000
#3     Java  15000       NaN       800
#4   Python  15000   30 Days       500
#5      PHP  18000   30 Days       800
0

8. Các thông số quan trọng khác

  • dtype - Dict với tên cột một loại
  • nrows – Có bao nhiêu hàng để phân tích cú pháp
  • na_values ​​– Các chuỗi bổ sung để nhận dạng là NA/NaN.  
  • keep_default_na – Có hay không bao gồm các giá trị NaN mặc định khi phân tích dữ liệu.  
  • na_filter – Lọc các giá trị bị thiếu
  • parse_dates – Chỉ định chỉ mục cột mà bạn muốn phân tích dưới dạng ngày tháng
  • hàng nghìn – Dấu phân cách hàng nghìn để phân tích các cột chuỗi thành số
  • skipfooter – Chỉ định cách các hàng bạn muốn bỏ qua từ chân trang
  • mangle_dupe_cols – Các cột trùng lặp sẽ được chỉ định là ‘X’, ‘X. 1’, …’X. N',

Để biết thông số và mô tả đầy đủ, hãy tham khảo tài liệu về gấu trúc

Phần kết luận

Trong bài viết này, bạn đã học cách đọc một trang tính Excel và chuyển đổi nó thành DataFrame bằng cách bỏ qua tiêu đề, bỏ qua hàng, bỏ qua cột, chỉ định tên cột, v.v.

Làm thế nào để đọc excel với tiêu đề trong gấu trúc?

Để yêu cầu gấu trúc bắt đầu đọc một trang tính Excel từ một hàng cụ thể, hãy sử dụng đối số header = 0-indexed row nơi bắt đầu đọc . Theo mặc định, tiêu đề = 0 và hàng đầu tiên như vậy được sử dụng để cung cấp tên của các cột khung dữ liệu. Để bỏ qua các hàng ở cuối trang tính, hãy sử dụng skipfooter = số hàng để bỏ qua.

Làm cách nào để xuất DataFrame của gấu trúc thành excel?

Sử dụng hàm pandas to_excel() để ghi DataFrame vào trang tính excel có phần mở rộng. xlsx . Theo mặc định, nó ghi một DataFrame vào tệp excel, bạn cũng có thể viết nhiều trang tính bằng cách sử dụng đối tượng ExcelWriter có tên tệp đích và tên trang tính để ghi vào.

Làm thế nào excel đọc dữ liệu từ gấu trúc?

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

Làm cách nào để đọc cột và hàng cụ thể trong excel bằng python pandas?

Đọc dữ liệu của bất kỳ cột nào trong excel .
tạo bảng tính Excel với các tiêu đề có tên Header1, Header2, Header1, Header2 dưới các cột A, B, C, D
df. read_excel(tên tệp, usecols='C. D')