Phân tích dữ liệu excel với python

Các tổ chức và doanh nghiệp lớn thường lưu trữ dữ liệu trong bảng tính và yêu cầu giao diện để nhập dữ liệu này vào ứng dụng web của họ. Ý tưởng chung là tải tệp lên, đọc nội dung của tệp và lưu trữ tệp trong tệp hoặc cơ sở dữ liệu mà ứng dụng web sử dụng. Các tổ chức cũng có thể cần xuất dữ liệu từ một ứng dụng web. Ví dụ: họ có thể cần xuất điểm của tất cả học sinh trong một lớp. Một lần nữa, bảng tính là phương tiện ưa thích

Trong bài đăng này, chúng tôi sẽ thảo luận về các cách khác nhau để xử lý các tệp này và phân tích chúng để lấy thông tin cần thiết bằng Python

Sơ lược về bảng tính nhanh

Trước khi phân tích cú pháp bảng tính, bạn phải hiểu cách chúng được cấu trúc. Tệp bảng tính là một tập hợp các trang tính và mỗi trang tính là một tập hợp các ô dữ liệu được đặt trong một lưới, tương tự như một bảng. Trong một trang tính, một ô dữ liệu được xác định bởi hai giá trị. số hàng và cột của nó

Phân tích dữ liệu excel với python

Chẳng hạn, trong ảnh chụp màn hình ở trên, bảng tính chỉ chứa một trang tính, “Trang tính 1”. Ô “2A” tương ứng với hàng thứ hai và cột đầu tiên. Giá trị của ô 2A là 1

Mặc dù các chương trình có GUI gán các chữ cái cho tên của các cột, khi chúng tôi phân tích dữ liệu, chúng tôi sẽ bắt đầu đánh số hàng và cột từ 0. Nghĩa là, ô 2A sẽ tương ứng với (1, 0), 4B tương ứng với (1,3), 3C tương ứng với (2, 2), v.v.

Thiết lập môi trường Python

Chúng tôi sẽ sử dụng Python 3 để đọc và viết bảng tính. Để đọc và ghi các tệp XLSX, bạn cần cài đặt mô-đun Pandas. Bạn có thể làm như vậy thông qua một trong các trình cài đặt Python.

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
8 hoặc
import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
9. Pandas sử dụng mô-đun
import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
0 để đọc bảng tính mới (. xlsx) và mô-đun
import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
1 để đọc các bảng tính kế thừa (. tệp xls). Cả hai
import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
0 và
import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
1 này đều được cài đặt dưới dạng phần phụ thuộc khi bạn cài đặt Pandas

pip3 install pandas

Để đọc và ghi các tệp CSV, bạn cần có mô-đun

import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
4 được cài đặt sẵn với Python. Bạn cũng có thể đọc các tệp CSV thông qua Pandas

Đọc bảng tính

Nếu bạn có một tệp và bạn muốn phân tích cú pháp dữ liệu trong đó, bạn cần thực hiện các thao tác sau theo thứ tự này

  1. nhập mô-đun
    import sys
    workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
    
    5
  2. mở tệp bảng tính (hoặc sổ làm việc)
  3. chọn một tờ
  4. trích xuất các giá trị của các ô dữ liệu cụ thể

Mở tệp bảng tính

Trước tiên hãy mở một tệp bằng Python. Để theo dõi, bạn có thể sử dụng bảng tính mẫu sau đây, với sự hỗ trợ của Learning Container

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()

Phân khúc Quốc gia Sản phẩm Dải chiết khấu Đơn vị bán Giá sản xuất Giá bán Tổng doanh thu Giảm giá Bán hàng Giá vốn hàng bán Lợi nhuận Ngày Số tháng Tên tháng Năm 0Chính phủ CanadaCarreteraKhông có1618. 532032370. 00. 032370. 016185. 016185. 02014-01-011Tháng một năm 20141Chính phủĐứcCarreteraNone1321. 032026420. 00. 026420. 013210. 013210. 02014-01-011Jan20142MidmarketPhápCarreteraNone2178. 031532670. 00. 032670. 021780. 010890. 02014-06-016June20143MidmarketĐứcCarreteraNone888. 031513320. 00. 013320. 08880. 04440. 02014-06-016June20144MidmarketMexicoCarreteraNone2470. 031537050. 00. 037050. 024700. 012350. 02014-06-016Jun2014

Pandas đọc bảng tính dưới dạng bảng và lưu trữ dưới dạng khung dữ liệu Pandas

Nếu tệp của bạn có các ký tự không phải ASCII, bạn nên mở tệp ở định dạng unicode như sau

import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())

Nếu bảng tính của bạn rất lớn, bạn có thể thêm một đối số

import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
6, đối số này chỉ tải một số cột nhất định vào khung dữ liệu. Chẳng hạn, đối số sau sẽ chỉ đọc năm cột đầu tiên

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
2

Phân khúcQuốc giaSản phẩmDải chiết khấuĐơn vị bán0Chính phủCanadaCarreteraNone1618. 51Chính phủĐứcCarreteraNone1321. 02MidmarketPhápCarreteraNone2178. 03MidmarketĐứcCarreteraNone888. 04Trung cấpMexicoCarreteraNone2470. 0

Ngoài ra, bạn có thể sử dụng các đối số

import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
7 và
import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
8 để chỉ đọc một số hàng nhất định hoặc bỏ qua một số hàng nhất định ở đầu, tương ứng

Mở một trang tính cụ thể

Bạn có thể chọn một trang tính nhất định từ bảng tính của mình bằng cách sử dụng đối số

import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
9. Theo mặc định, hàm read_excel() phân tích trang tính đầu tiên trong tệp. Bạn có thể cung cấp tên của trang tính dưới dạng chuỗi hoặc chỉ mục của trang tính (bắt đầu từ 0)

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
6
import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
7

Bạn cũng có thể chọn một số trang tính sẽ được lưu trữ dưới dạng chính tả của các khung dữ liệu Pandas bằng cách chuyển một danh sách đối số

import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
9

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
9

Lấy dữ liệu từ các ô

Khi bạn đã chọn trang tính vào khung dữ liệu, bạn có thể trích xuất giá trị của một ô dữ liệu cụ thể bằng cách truy vấn vào khung dữ liệu Pandas

import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
0

Các. Phương thức iloc() giúp bạn tìm kiếm một giá trị dựa trên vị trí chỉ mục. Trong đoạn mã trên,

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
21 tìm kiếm giá trị tại vị trí chỉ mục thứ 0. Tương tự, bạn có thể tìm kiếm một giá trị bằng cách sử dụng nhãn thông qua. phương thức loc(). Chẳng hạn, nếu bạn chuyển đối số
import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
22 cho phương thức
import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
23, nó sẽ tìm kiếm nhãn
import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
22 trong chỉ mục

import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
5

Bạn có thể truy vấn tập dữ liệu của mình sau khi tập dữ liệu được tải vào khung dữ liệu với các hàm sẵn có trong Pandas. Đây là một bài viết về khám phá các giá trị của khung dữ liệu Pandas của bạn

Tạo bảng tính

Quy trình tạo trang tính tương tự như phần trước

  1. nhập mô-đun
    import sys
    workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
    
    5
  2. lưu dữ liệu vào workbook
  3. tạo một trang tính trong sổ làm việc
  4. thêm kiểu dáng cho các ô trong sổ làm việc

Tạo một tệp mới

Để tạo một tệp mới, trước tiên chúng ta cần một khung dữ liệu. Hãy tạo lại trang demo từ đầu bài viết

import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
7

Sau đó, bạn có thể tạo một tệp bảng tính mới bằng cách gọi hàm to_excel() trên khung dữ liệu, chỉ định tên của tệp mà nó sẽ lưu dưới dạng

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
0

Bạn cũng có thể mở cùng một tệp bằng chức năng

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
26

Thêm trang tính

Bạn có thể lưu khung dữ liệu của mình dưới dạng một trang tính nhất định trong sổ làm việc bằng cách sử dụng đối số

import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
9. Giá trị mặc định của đối số này là
import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
28

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
1

Nhiều tùy chọn hơn trong khi lưu bảng tính của bạn

Bạn có thể sử dụng lớp ExcelWriter để có thêm tùy chọn trong khi lưu vào bảng tính của mình. Nếu bạn muốn lưu nhiều khung dữ liệu vào cùng một tệp, bạn có thể sử dụng cú pháp sau

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
2

Để nối thêm khung dữ liệu vào bảng tính hiện có, hãy sử dụng đối số

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
29. Lưu ý rằng chế độ chắp thêm chỉ được hỗ trợ khi bạn chỉ định công cụ là
import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
0

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
3

Ngoài ra, hãy sử dụng

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
61 và
import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
62 để đặt giá trị cho giá trị ngày và giờ

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
4

Di sản đọc (. xls) Bảng tính

Bạn có thể đọc các bảng tính kế thừa với tiện ích mở rộng

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
63 bằng cú pháp tương tự trong Pandas

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
5

Trong khi bạn sử dụng cùng chức năng

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
26, Pandas sử dụng công cụ
import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
1 để đọc nó. Bạn có thể đọc và viết các bảng tính kế thừa bằng cách sử dụng cùng một cú pháp mà chúng ta đã thảo luận trước đó trong hướng dẫn này

Tóm tắt nhanh các tệp CSV

CSV là viết tắt của “các giá trị được phân tách bằng dấu phẩy” (hoặc đôi khi được phân tách bằng ký tự nếu dấu phân cách được sử dụng là một ký tự nào đó không phải là dấu phẩy) và tên này khá dễ hiểu. Một tệp CSV điển hình trông giống như sau

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
6

Bạn có thể chuyển đổi bảng tính thành tệp CSV để dễ dàng phân tích cú pháp. Các tệp CSV có thể được phân tích cú pháp dễ dàng bằng cách sử dụng mô-đun

import sys
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding())
4 trong Python, ngoài Pandas

import pandas as pd
workbook = pd.read_excel('sample-xlsx-file-for-testing.xlsx')
workbook.head()
7

Sự kết luận

Như tôi đã đề cập trước đó, việc tạo và phân tích bảng tính là không thể tránh khỏi khi bạn làm việc với các ứng dụng web lớn. Do đó, việc làm quen với các thư viện phân tích cú pháp chỉ có thể giúp ích cho bạn khi có nhu cầu.

Bạn sử dụng ngôn ngữ kịch bản nào để xử lý bảng tính?

Chia sẻ bài viết này

Phân tích dữ liệu excel với python

Shaumik Daityari

Shaumik là một nhà phân tích dữ liệu vào ban ngày và là một người đam mê truyện tranh vào ban đêm (hoặc có thể, anh ấy là Người Dơi?) Shaumik đã viết hướng dẫn và tạo các chương trình truyền hình trong hơn năm năm. Khi không làm việc, anh ấy bận tự động hóa các công việc hàng ngày thông qua các kịch bản được viết tỉ mỉ

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

Để giải quyết vấn đề này, Các nhà phát triển Python đã nghĩ ra cách đọc, viết, phân tích tất cả các loại định dạng tệp, bao gồm cả bảng tính . Phần hướng dẫn hôm nay sẽ chủ yếu về cách bạn có thể sử dụng ngôn ngữ lập trình Python và làm việc với Excel mà không cần trực tiếp sử dụng ứng dụng Microsoft Excel.

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

Mặc dù Python và Excel về mặt kỹ thuật có các chức năng khác nhau, nhưng Python đã phát triển mạnh mẽ khi mọi người nhận ra khả năng và tiềm năng của nó. Nó được coi là một công cụ phân tích dữ liệu tốt hơn bởi nhiều nhà phát triển và cộng đồng khoa học dữ liệu rộng lớn hơn

Python có thể đọc tệp XLSX không?

OpenPyXL là một thư viện Python được tạo để đọc và ghi các tệp Excel 2010 xlsx/xlsm/xltx/xltm . Nó có thể đọc cả. xlsx và. xlsm, bao gồm hỗ trợ biểu đồ, đồ thị và các hình ảnh hóa dữ liệu khác.

Python có hoạt động tốt với Excel không?

Như đã nói, Các tệp Excel cũng có thể được nhập vào sổ ghi chép Python từ máy cục bộ của bạn nếu bạn muốn sử dụng Python cho tất cả các phân tích của mình. Finally, Python has great open-source libraries like Pandas that can read and merge datasets from diverse sources like Excel, CSV, and JSON into one format.