Bạn có thể sử dụng Python để phân tích dữ liệu Excel không?

Excel được sử dụng rộng rãi để phân tích dữ liệu và có rất nhiều chức năng để phân tích, thao tác, trực quan hóa, v.v. Sử dụng excel phải là một trong những kỹ năng chính cần có đối với Nhà phân tích dữ liệu, Nhà phân tích sản phẩm và Nhà phân tích kinh doanh. Nó giúp hiểu dữ liệu và cách chúng ta có thể sử dụng nó để tạo ra những hiểu biết hữu ích

Python cũng được sử dụng rộng rãi cho mục đích Phân tích dữ liệu và cũng khắc phục được những nhược điểm của Excel. Với một chút kiến ​​thức về Python, chúng ta có thể nâng cao kỹ năng Phân tích dữ liệu của mình và cũng tạo ra nhiều thông tin chi tiết hữu ích hơn

Kết hợp cả Excel và Python có thể hiệu quả và làm cho Phân tích dữ liệu trở nên thú vị hơn. ExcelWriter được sử dụng để thực hiện các thao tác Excel khác nhau bằng Python. Nó cung cấp nhiều chức năng như tạo Excel, ghi dữ liệu vào trang tính Excel, tạo trực quan hóa trong Excel, v.v.

Trong bài viết này, chúng ta sẽ khám phá ExcelWriter và tạo một số trực quan hóa bằng cách sử dụng nó

Bắt đầu nào…

Cài đặt các thư viện cần thiết

Excelwriter được định nghĩa trong Pandas nên chúng ta không cần cài đặt riêng

Nhập thư viện cần thiết

Trong bước này, chúng tôi sẽ nhập tất cả các thư viện cần thiết để đọc Excel và tạo trực quan hóa trong Excel bằng Python

import pandas as pd
import numpy as np
Đang tải tập dữ liệu

Đối với bài viết này, chúng tôi sẽ sử dụng bộ dữ liệu Bệnh tiểu đường nổi tiếng có thể tải xuống từ các nguồn trực tuyến. Ngoài ra, chúng tôi sẽ tạo một tệp excel bằng trình soạn thảo excel, nơi chúng tôi sẽ tạo trực quan hóa

df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
Tạo trực quan hóa trong Excel

Trong bước này, chúng ta sẽ tạo các loại hình ảnh khác nhau, ghi chúng vào tệp excel mà chúng tôi đã tạo và sau đó lưu hình ảnh. Trước khi tạo các trực quan hóa, chúng tôi cũng sẽ tạo các đối tượng để người viết sử dụng cho các thao tác tiếp theo

Mã được đưa ra dưới đây sẽ tạo các đối tượng và các biểu đồ khác nhau là Biểu đồ thanh, Biểu đồ phân tán, Biểu đồ đường và Biểu đồ vùng

book = writer.book
sheet = writer.sheets['Sheet1']
# Title
bold = book.add_format({'bold': True, 'size': 24})
sheet.write('A1', 'Diabetes', bold)

format1 = book.add_format({'font_color': '#E93423'})
sheet.conditional_format('B4:E8', {'type': 'cell', 'criteria': '<=', 'value': 0, 'format': format1})
# Bar Chart
chart = book.add_chart({'type': 'column'})
chart.add_series({'values': '=Sheet1!B4:B90', 'name': '=Sheet1!B3', 'categories': '=Sheet1!$A$4:$A$8'})
chart.add_series({'values': '=Sheet1!C4:C90', 'name': '=Sheet1!C3'})
chart.add_series({'values': '=Sheet1!D4:D90', 'name': '=Sheet1!D3'})
chart.add_series({'values': '=Sheet1!E4:E90', 'name': '=Sheet1!E3'})
sheet.insert_chart('K2', chart)
# Scatter Chart
chart = book.add_chart({'type': 'scatter'})
chart.add_series({'values': '=Sheet1!F4:F90', 'name': '=Sheet1!B3', 'categories': '=Sheet1!$A$4:$A$8'})
sheet.insert_chart('K20', chart)
# Line Chart
chart = book.add_chart({'type': 'line'})
chart.add_series({'values': '=Sheet1!F4:F90', 'name': '=Sheet1!B3', 'categories': '=Sheet1!$A$4:$A$8'})
chart.add_series({'values': '=Sheet1!G4:G90', 'name': '=Sheet1!C3'})
chart.add_series({'values': '=Sheet1!H4:H90', 'name': '=Sheet1!D3'})
chart.add_series({'values': '=Sheet1!I4:I90', 'name': '=Sheet1!E3'})
sheet.insert_chart('S2', chart)
# Area Chart
chart = book.add_chart({'type': 'area'})
chart.add_series({'values': '=Sheet1!A4:F90', 'name': '=Sheet1!B3', 'categories': '=Sheet1!$A$4:$A$8'})
chart.add_series({'values': '=Sheet1!B4:G90', 'name': '=Sheet1!C3'})
chart.add_series({'values': '=Sheet1!H4:H90', 'name': '=Sheet1!D3'})
chart.add_series({'values': '=Sheet1!I4:I90', 'name': '=Sheet1!E3'})
sheet.insert_chart('S20', chart)
writer.save()

Bạn có thể sử dụng Python để phân tích dữ liệu Excel không?

 

Phương pháp 1. Đọc tệp excel bằng Python sử dụng Pandas

Trong phương pháp này, trước tiên chúng tôi sẽ nhập mô-đun Pandas, sau đó chúng tôi sẽ sử dụng Pandas để đọc tệp excel của chúng tôi. Bạn có thể đọc thêm các thao tác sử dụng file excel sử dụng Pandas tại bài viết này. Bấm vào đây

Python3




df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
4

df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
5
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
6

 

df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
7

df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
8
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
9
book = writer.book
sheet = writer.sheets['Sheet1']
# Title
bold = book.add_format({'bold': True, 'size': 24})
sheet.write('A1', 'Diabetes', bold)

format1 = book.add_format({'font_color': '#E93423'})
sheet.conditional_format('B4:E8', {'type': 'cell', 'criteria': '<=', 'value': 0, 'format': format1})
# Bar Chart
chart = book.add_chart({'type': 'column'})
chart.add_series({'values': '=Sheet1!B4:B90', 'name': '=Sheet1!B3', 'categories': '=Sheet1!$A$4:$A$8'})
chart.add_series({'values': '=Sheet1!C4:C90', 'name': '=Sheet1!C3'})
chart.add_series({'values': '=Sheet1!D4:D90', 'name': '=Sheet1!D3'})
chart.add_series({'values': '=Sheet1!E4:E90', 'name': '=Sheet1!E3'})
sheet.insert_chart('K2', chart)
# Scatter Chart
chart = book.add_chart({'type': 'scatter'})
chart.add_series({'values': '=Sheet1!F4:F90', 'name': '=Sheet1!B3', 'categories': '=Sheet1!$A$4:$A$8'})
sheet.insert_chart('K20', chart)
# Line Chart
chart = book.add_chart({'type': 'line'})
chart.add_series({'values': '=Sheet1!F4:F90', 'name': '=Sheet1!B3', 'categories': '=Sheet1!$A$4:$A$8'})
chart.add_series({'values': '=Sheet1!G4:G90', 'name': '=Sheet1!C3'})
chart.add_series({'values': '=Sheet1!H4:H90', 'name': '=Sheet1!D3'})
chart.add_series({'values': '=Sheet1!I4:I90', 'name': '=Sheet1!E3'})
sheet.insert_chart('S2', chart)
# Area Chart
chart = book.add_chart({'type': 'area'})
chart.add_series({'values': '=Sheet1!A4:F90', 'name': '=Sheet1!B3', 'categories': '=Sheet1!$A$4:$A$8'})
chart.add_series({'values': '=Sheet1!B4:G90', 'name': '=Sheet1!C3'})
chart.add_series({'values': '=Sheet1!H4:H90', 'name': '=Sheet1!D3'})
chart.add_series({'values': '=Sheet1!I4:I90', 'name': '=Sheet1!E3'})
sheet.insert_chart('S20', chart)
writer.save()
0
book = writer.book
sheet = writer.sheets['Sheet1']
# Title
bold = book.add_format({'bold': True, 'size': 24})
sheet.write('A1', 'Diabetes', bold)

format1 = book.add_format({'font_color': '#E93423'})
sheet.conditional_format('B4:E8', {'type': 'cell', 'criteria': '<=', 'value': 0, 'format': format1})
# Bar Chart
chart = book.add_chart({'type': 'column'})
chart.add_series({'values': '=Sheet1!B4:B90', 'name': '=Sheet1!B3', 'categories': '=Sheet1!$A$4:$A$8'})
chart.add_series({'values': '=Sheet1!C4:C90', 'name': '=Sheet1!C3'})
chart.add_series({'values': '=Sheet1!D4:D90', 'name': '=Sheet1!D3'})
chart.add_series({'values': '=Sheet1!E4:E90', 'name': '=Sheet1!E3'})
sheet.insert_chart('K2', chart)
# Scatter Chart
chart = book.add_chart({'type': 'scatter'})
chart.add_series({'values': '=Sheet1!F4:F90', 'name': '=Sheet1!B3', 'categories': '=Sheet1!$A$4:$A$8'})
sheet.insert_chart('K20', chart)
# Line Chart
chart = book.add_chart({'type': 'line'})
chart.add_series({'values': '=Sheet1!F4:F90', 'name': '=Sheet1!B3', 'categories': '=Sheet1!$A$4:$A$8'})
chart.add_series({'values': '=Sheet1!G4:G90', 'name': '=Sheet1!C3'})
chart.add_series({'values': '=Sheet1!H4:H90', 'name': '=Sheet1!D3'})
chart.add_series({'values': '=Sheet1!I4:I90', 'name': '=Sheet1!E3'})
sheet.insert_chart('S2', chart)
# Area Chart
chart = book.add_chart({'type': 'area'})
chart.add_series({'values': '=Sheet1!A4:F90', 'name': '=Sheet1!B3', 'categories': '=Sheet1!$A$4:$A$8'})
chart.add_series({'values': '=Sheet1!B4:G90', 'name': '=Sheet1!C3'})
chart.add_series({'values': '=Sheet1!H4:H90', 'name': '=Sheet1!D3'})
chart.add_series({'values': '=Sheet1!I4:I90', 'name': '=Sheet1!E3'})
sheet.insert_chart('S20', chart)
writer.save()
1
Result: ['Name  Age    Stream  Percentage', 
'0      Ankit   18      Math          95', 
'1      Rahul   19   Science          90', 
'2    Shaurya   20  Commerce          85', 
'3  Aishwarya   18      Math          80', 
'4   Priyanka   19   Science          75', 
None]
0

 

Result: ['Name  Age    Stream  Percentage', 
'0      Ankit   18      Math          95', 
'1      Rahul   19   Science          90', 
'2    Shaurya   20  Commerce          85', 
'3  Aishwarya   18      Math          80', 
'4   Priyanka   19   Science          75', 
None]
1
Result: ['Name  Age    Stream  Percentage', 
'0      Ankit   18      Math          95', 
'1      Rahul   19   Science          90', 
'2    Shaurya   20  Commerce          85', 
'3  Aishwarya   18      Math          80', 
'4   Priyanka   19   Science          75', 
None]
2

đầu ra

Bạn có thể sử dụng Python để phân tích dữ liệu Excel không?

 

Phương pháp 2. Đọc tệp excel bằng Python sử dụng openpyxl

Hàm load_workbook() mở Sách. tệp xlsx để đọc. Tệp này được truyền dưới dạng đối số cho hàm này. Đối tượng của khung dữ liệu. active đã được tạo trong tập lệnh để đọc các giá trị của thuộc tính max_row và max_column. Các giá trị này được sử dụng trong các vòng lặp để đọc nội dung của Books2. tập tin xlsx. Bạn có thể đọc các thao tác khác sử dụng openpyxl trong bài viết này

Python3




df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
5
Result: ['Name  Age    Stream  Percentage', 
'0      Ankit   18      Math          95', 
'1      Rahul   19   Science          90', 
'2    Shaurya   20  Commerce          85', 
'3  Aishwarya   18      Math          80', 
'4   Priyanka   19   Science          75', 
None]
4

 

Result: ['Name  Age    Stream  Percentage', 
'0      Ankit   18      Math          95', 
'1      Rahul   19   Science          90', 
'2    Shaurya   20  Commerce          85', 
'3  Aishwarya   18      Math          80', 
'4   Priyanka   19   Science          75', 
None]
5

Result: ['Name  Age    Stream  Percentage', 
'0      Ankit   18      Math          95', 
'1      Rahul   19   Science          90', 
'2    Shaurya   20  Commerce          85', 
'3  Aishwarya   18      Math          80', 
'4   Priyanka   19   Science          75', 
None]
6
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
9
Result: ['Name  Age    Stream  Percentage', 
'0      Ankit   18      Math          95', 
'1      Rahul   19   Science          90', 
'2    Shaurya   20  Commerce          85', 
'3  Aishwarya   18      Math          80', 
'4   Priyanka   19   Science          75', 
None]
8
Result: ['Name  Age    Stream  Percentage', 
'0      Ankit   18      Math          95', 
'1      Rahul   19   Science          90', 
'2    Shaurya   20  Commerce          85', 
'3  Aishwarya   18      Math          80', 
'4   Priyanka   19   Science          75', 
None]
9
Result: ['Name  Age    Stream  Percentage', 
'0      Ankit   18      Math          95', 
'1      Rahul   19   Science          90', 
'2    Shaurya   20  Commerce          85', 
'3  Aishwarya   18      Math          80', 
'4   Priyanka   19   Science          75', 
None]
0

 

df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
41

df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
8
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
9
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
44

 

df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
45

df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
46
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
47
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
48
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
49
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
50
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
51
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
52

df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
53
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
46
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
55
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
48
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
57
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
58
df = pd.DataFrame(pd.read_csv("/content/test.csv"))
writer = pd.ExcelWriter('diabetes.xlsx', engine='xlsxwriter')
df.to_excel(writer, sheet_name='Sheet1', startrow=2)
59

_______160____41____162

đầu ra.  

Bạn có thể sử dụng Python để phân tích dữ liệu Excel không?

 

Phương pháp 3. Đọc tệp excel bằng Python bằng Xlwings

Xlwings có thể được sử dụng để chèn dữ liệu vào tệp Excel tương tự như khi đọc từ tệp Excel. Dữ liệu có thể được cung cấp dưới dạng danh sách hoặc một đầu vào cho một ô nhất định hoặc một vùng chọn ô. Bạn có thể đọc các thao tác khác sử dụng Xlwings trong bài viết này

Python có thể đọc dữ liệu từ Excel không?

Hàm read_excel của thư viện pandas được sử dụng để đọc nội dung của tệp Excel vào môi trường python dưới dạng DataFrame của gấu trúc . Hàm có thể đọc các tệp từ HĐH bằng cách sử dụng đường dẫn thích hợp tới tệp.

Python phân tích dữ liệu trong Excel như thế nào?

Khóa học phân tích dữ liệu với Python dành cho người dùng Excel .
Cài đặt Python và Jupyter Notebook với Anaconda
Giao diện máy tính xách tay Jupyter
Các loại ô và chế độ ô
Phím tắt máy tính xách tay Jupyter
Mô-đun 1 - Xin chào thế giới
Loại dữ liệu
Biến
danh sách

Excel hay Python tốt hơn để phân tích dữ liệu?

Python được coi là công cụ phân tích dữ liệu hiệu quả hơn dành cho các phép tính phức tạp và khối lượng dữ liệu lớn. Tuy nhiên, nhìn chung Excel vẫn phổ biến hơn Python và được nhiều người sử dụng trong phân tích tài chính.

Python có tốt cho Excel không?

Tự động hóa dễ dàng hơn . Ví dụ: nếu bạn cần chạy cùng một phân tích trên một tập hợp dữ liệu bán hàng mới mỗi tuần, thì việc thực hiện điều này trong Excel sẽ yêu cầu mở một tệp khác theo cách thủ công mỗi tuần và nhập lại công thức cũng như các yếu tố khác cần thiết cho phân tích