Sau khi chúng tôi đã thu thập dữ liệu từ bất kỳ trang web nào, điều quan trọng là phải lưu dữ liệu đó để chúng tôi có thể truy cập dữ liệu đó để sử dụng trong tương lai hoặc thực hiện một số phân tích hoặc làm sạch dữ liệu đó. Cạo dữ liệu và chỉ hiển thị trên màn hình không có ý nghĩa gì
Khi xử lý dữ liệu văn bản, chúng ta có thể lưu nó theo nhiều cách như trong tệp CSV, tệp Excel, tệp Văn bản, Bảng tính Google trong Cơ sở dữ liệu như MySQL, MongoDB, v.v. Đối với Hình ảnh, Video, Âm thanh và các loại phương tiện khác, chúng tôi có thể lưu nó trên hệ thống cục bộ hoặc trong cơ sở dữ liệu
Lưu dữ liệu vào tệp CSV hoặc Excel là phương pháp phổ biến nhất và được sử dụng nhiều nhất đối với dữ liệu văn bản vì nó dễ thực hiện, có thể truy cập và chia sẻ dễ dàng. Trong hướng dẫn này, chúng ta sẽ xem cách lưu dữ liệu văn bản vào tệp CSV và Excel
Đối với hướng dẫn này, chúng tôi sẽ truy cập https. // vi. wikipedia. org/wiki/List_of_large_recorded_music_markets và cạo dữ liệu dạng bảng để lưu dữ liệu đó trước vào tệp CSV sau đó vào Excel. Trang Wikipedia này chứa các danh sách Thị trường âm nhạc được ghi nhận lớn nhất từ 2004 đến 2017. Chúng tôi sẽ cạo dữ liệu cho năm 2017
Có hai cách để lưu dữ liệu vào CSV và Excel
1. Sử dụng mô-đun CSV
2. Sử dụng Pandas Dataframe
Cá nhân tôi thích sử dụng khung dữ liệu gấu trúc hơn vì nó dễ sử dụng hơn nhiều và chúng tôi có thể trực quan hóa và làm sạch dữ liệu ngay lập tức bằng cách sử dụng nó. Tuy nhiên, chúng ta sẽ học cả hai phương pháp trong hướng dẫn này
Trước tiên, hãy truy cập trang web và kiểm tra dữ liệu chúng tôi muốn cạo
Để lấy dữ liệu trong bảng Dữ liệu IFPI 2017, là dữ liệu dạng bảng
Chúng ta có thể thấy tên của các cột nằm dưới thẻ quảng cáo và phần còn lại của dữ liệu nằm dưới thẻ tbody. Vì vậy, sử dụng hai thẻ này và vòng lặp, chúng tôi có thể loại bỏ dữ liệu
Dưới đây là mã chi tiết để cạo và lưu trữ dữ liệu vào tệp CSV và Excel. Chi tiết xem video
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ó
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 Pandaspip3 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
- nhập mô-đun
5import sys workbook = pd.read_excel['sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding[]]
- mở tệp bảng tính [hoặc sổ làm việc]
- chọn một tờ
- 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ênimport pandas as pd
workbook = pd.read_excel['sample-xlsx-file-for-testing.xlsx']
workbook.head[]
2Phâ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 ứngMở 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[]
6import pandas as pd
workbook = pd.read_excel['sample-xlsx-file-for-testing.xlsx']
workbook.head[]
7Bạ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[]]
9import pandas as pd
workbook = pd.read_excel['sample-xlsx-file-for-testing.xlsx']
workbook.head[]
9Lấ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[]]
0Cá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ụcimport sys
workbook = pd.read_excel['sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding[]]
5Bạ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
- nhập mô-đun
5import sys workbook = pd.read_excel['sample-xlsx-file-for-testing.xlsx', encoding=sys.getfilesystemencoding[]]
- lưu dữ liệu vào workbook
- tạo một trang tính trong sổ làm việc
- 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[]]
7Sau đó, 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[]
0Bạ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[]
26Thê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[]
28import pandas as pd
workbook = pd.read_excel['sample-xlsx-file-for-testing.xlsx']
workbook.head[]
1Nhiề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 để 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[]]
0import pandas as pd
workbook = pd.read_excel['sample-xlsx-file-for-testing.xlsx']
workbook.head[]
3Ngoà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[]
4Di 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 Pandasimport pandas as pd
workbook = pd.read_excel['sample-xlsx-file-for-testing.xlsx']
workbook.head[]
5Trong 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àyTó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[]
6Bạ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 Pandasimport pandas as pd
workbook = pd.read_excel['sample-xlsx-file-for-testing.xlsx']
workbook.head[]
7Phần 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
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ỉ