Khung dữ liệu gấu trúc từ bảng excel

Trong phần này, tôi sẽ trình bày cách sử dụng thư viện Pandas với Excel. Chúng tôi sẽ sử dụng các thao tác bảng excel cơ bản như tạo trang tính mới, thêm dữ liệu hàng loạt, nối thêm dữ liệu, đọc dữ liệu, định dạng dữ liệu và thêm biểu đồ

Cài đặt

Thực hiện các lệnh sau để cài đặt các thư viện Pandas, xlsxwriter, xlrd và openpyxl

pip install pandaspip install xlsxwriterpip install xlrdpip install openpyxl

Tạo một bảng tính Excel_______1_______

Mã này sẽ tạo một tệp demo.xlsx mới với trang tính mặc định có tên là Sheet1

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ờ

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ũ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 cách nào để chuyển đổi dữ liệu Excel sang DataFrame của gấu trúc?

Cách thực hiện… .
Để tạo Pandas DataFrame từ tệp Excel, trước tiên hãy nhập các thư viện Python mà bạn cần. .
Tiếp theo, xác định một biến cho tệp dữ liệu tai nạn và nhập đường dẫn đầy đủ đến tệp dữ liệu. .
Sau đó, tạo DataFrame từ tệp Excel bằng phương thức read_excel do Pandas cung cấp, như sau

Làm cách nào để đọc bảng excel trong Python bằng 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 để tải tệp xlsx vào DataFrame của gấu trúc?

Các bước để nhập tệp Excel vào Python bằng Pandas .
Bước 1. Chụp đường dẫn tập tin. Trước tiên, hãy chụp lại đường dẫn đầy đủ nơi tệp Excel được lưu trữ trên máy tính của bạn. .
Bước 2. Áp dụng mã Python. .
Bước 3. Chạy mã Python để nhập tệp Excel

Gấu trúc có thể đọc xlsx không?

Đọc tệp Excel vào DataFrame của gấu trúc. Hỗ trợ các phần mở rộng tệp xls , xlsx , xlsm , xlsb , odf , ods và odt đọc từ hệ thống tệp cục bộ hoặc URL.

Chủ Đề