Mọi dự án Phân tích dữ liệu đều yêu cầu một bộ dữ liệu. Các bộ dữ liệu này có sẵn ở nhiều định dạng tệp khác nhau, chẳng hạn như. xlsx,. json,. csv,. html. Thông thường, các bộ dữ liệu chủ yếu được tìm thấy trong. định dạng csv. Các tệp CSV [hoặc Giá trị được phân tách bằng dấu phẩy], như tên gợi ý, có các mục dữ liệu được phân tách bằng dấu phẩy. Tệp CSV là tệp văn bản thuần túy có kích thước tệp nhẹ hơn. Ngoài ra, các tệp CSV có thể được xem và lưu ở dạng bảng trong các công cụ phổ biến như Microsoft Excel và Google Trang tính
Dấu phẩy được sử dụng trong tệp CSV được gọi là dấu phân cách. Hãy nghĩ về các dấu phân cách như một ranh giới ngăn cách để phân biệt giữa hai mục dữ liệu tiếp theo bất kỳ
Đọc tệp CSV bằng Pandas
Để đọc các tệp CSV hoặc dấu phân cách read_csv này, chúng tôi sử dụng một chức năng của thư viện Pandas có tên là read_csv[]
df = pd.read_csv[]
Hàm read_csv[] có hàng chục tham số, trong đó một tham số là bắt buộc và các tham số khác là tùy chọn để sử dụng trên cơ sở đặc biệt. Tham số bắt buộc này chỉ định tệp CSV mà chúng tôi muốn đọc. Ví dụ,
Ghi chú. Hãy nhớ sử dụng hai dấu gạch chéo ngược trong khi chỉ định đường dẫn tệp
abc. tệp csv
[Nguồn – Máy Tính Cá Nhân]
Thông số sep
Một trong các tham số tùy chọn trong read_csv[] là sep, tên rút gọn của dấu phân cách. Toán tử này là dấu phân cách mà chúng ta đã nói trước đây. Tham số sep này cho trình thông dịch biết, dấu phân cách nào được sử dụng trong tập dữ liệu của chúng tôi hoặc theo thuật ngữ của Layman, cách các mục dữ liệu được phân tách trong tệp CSV của chúng tôi
Giá trị mặc định của tham số sep là dấu phẩy [,] có nghĩa là nếu chúng ta không chỉ định tham số sep trong hàm read_csv[] thì được hiểu rằng tệp của chúng ta đang sử dụng dấu phẩy làm dấu phân cách. Do đó, trong đoạn mã trước của chúng tôi, chúng tôi đã không chỉ định tham số sep, có thể hiểu rằng tệp của chúng tôi có dấu phẩy là dấu phân cách
Sử dụng các dấu phân cách khác
Thường thì nó có thể xảy ra, tập dữ liệu trong. định dạng tệp csv có các mục dữ liệu được phân tách bằng dấu phân cách không phải dấu phẩy. Điều này bao gồm dấu chấm phẩy, dấu hai chấm, không gian tab, thanh dọc, v.v. Trong những trường hợp như vậy, chúng ta cần sử dụng tham số sep bên trong read. hàm csv[]. Ví dụ: một tệp có tên Ví dụ. csv là tệp CSV được phân tách bằng dấu chấm phẩy
Thí dụ. tệp csv
[Nguồn – Máy Tính Cá Nhân]
df = pd.read_csv["C:\Users\Rahul\Desktop\Example.csv", sep = ';']
Khi thực thi mã này, chúng tôi nhận được một khung dữ liệu có tên là df
[Nguồn – Máy Tính Cá Nhân]
Thanh phân cách dọc
Do đó, tệp được phân cách bằng thanh dọc có thể được đọc bởi
df = pd.read_csv["C:\Users\Rahul\Desktop\Example.csv", sep = '|']
Máy tách đại tràng
Và một tệp được phân cách bằng dấu hai chấm có thể được đọc bởi
df = pd.read_csv["C:\Users\Rahul\Desktop\Example.csv", sep = ':']
Dấu tách tab
Thường thì chúng ta có thể bắt gặp các bộ dữ liệu có định dạng tệp. tsv. Này. các tệp tsv có các giá trị được phân tách bằng tab trong chúng hoặc chúng ta có thể nói rằng nó có không gian tab dưới dạng dấu phân cách. Những tập tin như vậy có thể được đọc bằng cách sử dụng cùng một. read_csv[] của pandas và chúng ta cần chỉ định dấu phân cách. Ví dụ
df = pd.read_csv["C:\Users\Rahul\Desktop\Example.tsv", sep = 't']
Tương tự, các dấu phân cách khác có thể được sử dụng dựa trên dấu phân cách đã xác định từ dữ liệu của chúng tôi
Phần kết luận
Việc kiểm tra xem dữ liệu của chúng tôi đang được lưu trữ như thế nào trong bộ dữ liệu của chúng tôi luôn hữu ích. Hiểu dữ liệu là cần thiết trước khi bắt đầu làm việc với nó. Dấu phân cách [dấu phân cách pandas đọc csv] có thể được xác định dễ dàng bằng cách kiểm tra dữ liệu. Dựa trên kiểm tra của chúng tôi, chúng tôi có thể sử dụng dấu phân cách có liên quan trong tham số sep
Phương tiện hiển thị trong bài viết này không thuộc sở hữu của Analytics Vidhya và được sử dụng theo quyết định của Tác giả.
Tệp CSV là một loại tệp văn bản thuần túy đơn giản sử dụng cấu trúc cụ thể để sắp xếp dữ liệu dạng bảng. Định dạng tiêu chuẩn của tệp CSV được xác định bởi dữ liệu hàng và cột trong đó một dòng mới kết thúc mỗi hàng để bắt đầu hàng tiếp theo và mỗi cột được phân tách bằng dấu phẩy trong hàng
CSV là một định dạng phổ biến để trao đổi dữ liệu vì nó nhỏ gọn, đơn giản và tổng quát. Nhiều dịch vụ trực tuyến cho phép người dùng của họ xuất dữ liệu dạng bảng từ trang web thành tệp CSV. Tệp CSV sẽ mở trong Excel và gần như tất cả các cơ sở dữ liệu đều có công cụ cho phép nhập từ tệp CSV
Trong hướng dẫn này, bạn sẽ học
Tệp mẫu CSV
Dữ liệu ở dạng bảng còn được gọi là CSV [giá trị được phân tách bằng dấu phẩy] – nghĩa đen là “giá trị được phân tách bằng dấu phẩy. Đây là một định dạng văn bản dành cho việc trình bày dữ liệu dạng bảng. Mỗi dòng của tệp là một dòng của bảng. Các giá trị của các cột riêng lẻ được phân tách bằng ký hiệu phân cách – dấu phẩy [,], dấu chấm phẩy [;] hoặc ký hiệu khác. CSV có thể dễ dàng đọc và xử lý bằng Python
Xem xét bảng sau
Bảng dữ liệu
Ngôn ngữ lập trìnhDesigned byAppearedExtensionPythonGuido van Rossum1991. pyJavaJames Gosling1995. javaC++Bjarne Stroustrup1983. cppBạn có thể đại diện cho bảng này trong csv như bên dưới
Dữ liệu CSV
Ngôn ngữ lập trình, Được thiết kế bởi, Đã xuất hiện, Phần mở rộng
Trăn, Guido van Rossum, 1991,. py
Java, James Gosling, 1995,. java
C++, Bjarne Stroustrup, 1983,. cpp
Như bạn có thể thấy mỗi hàng là một dòng mới và mỗi cột được phân tách bằng dấu phẩy. Đây là một ví dụ về cách tệp CSV trông như thế nào
Tải xuống dữ liệu CSV
Mô-đun CSV Python
Python cung cấp mô-đun CSV để xử lý các tệp CSV. Để đọc/ghi dữ liệu, bạn cần lặp qua các hàng của CSV. Bạn cần sử dụng phương pháp tách để lấy dữ liệu từ các cột được chỉ định
Chức năng mô-đun CSV
Trong tài liệu mô-đun CSV, bạn có thể tìm thấy các chức năng sau
- csv. field_size_limit – trả về kích thước trường tối đa
- csv. get_dialect – lấy phương ngữ được liên kết với tên
- csv. list_dialects – hiển thị tất cả các phương ngữ đã đăng ký
- csv. trình đọc – đọc dữ liệu từ tệp csv
- csv. register_dialect – liên kết phương ngữ với tên
- csv. nhà văn – ghi dữ liệu vào tệp csv
- csv. unregister_dialect – xóa phương ngữ được liên kết với tên đăng ký phương ngữ
- csv. QUOTE_ALL – Trích dẫn mọi thứ, bất kể loại nào
- csv. QUOTE_MINIMAL – Trường trích dẫn có ký tự đặc biệt
- csv. QUOTE_NONNUMERIC – Trích dẫn tất cả các trường không phải là giá trị số
- csv. QUOTE_NONE – Không trích dẫn bất cứ điều gì trong đầu ra
Trong hướng dẫn này, chúng tôi sẽ chỉ tập trung vào các chức năng của trình đọc và trình ghi cho phép bạn chỉnh sửa, sửa đổi và thao tác dữ liệu trong tệp CSV
Cách đọc tệp CSV bằng Python
Dưới đây là các bước để đọc tệp CSV bằng Python
Bước 1] Để đọc dữ liệu từ tệp CSV, bạn phải sử dụng chức năng trình đọc để tạo đối tượng trình đọc
Chức năng đọc được phát triển để lấy từng hàng của tệp và tạo danh sách tất cả các cột. Sau đó, bạn phải chọn cột bạn muốn dữ liệu biến cho
Nghe có vẻ phức tạp hơn nhiều so với thực tế. Hãy xem mã Python này để đọc tệp CSV và chúng ta sẽ thấy rằng làm việc với tệp csv không quá khó
#import necessary modules import csv with open['X:\data.csv','rt']as f: data = csv.reader[f] for row in data: print[row]
Bước 2] Khi bạn thực hiện chương trình trên, đầu ra sẽ là
['Programming language; Designed by; Appeared; Extension'] ['Python; Guido van Rossum; 1991; .py'] ['Java; James Gosling; 1995; .java'] ['C++; Bjarne Stroustrup;1983;.cpp']
Cách đọc tệp CSV thành Từ điển bằng Python
Bạn cũng có thể sử dụng DictReader để đọc tệp CSV. Kết quả được hiểu là một từ điển trong đó hàng tiêu đề là khóa và các hàng khác là giá trị
Hãy xem xét đoạn mã sau
#import necessary modules import csv reader = csv.DictReader[open["file2.csv"]] for raw in reader: print[raw]
Kết quả của mã này là
________số 8_______Và cách này để đọc dữ liệu từ tệp CSV dễ dàng hơn nhiều so với phương pháp trước đó. Tuy nhiên, đây không phải là cách tốt nhất để đọc dữ liệu
Cách viết tệp CSV bằng Python
Đây là cách viết tệp CSV bằng Python
Khi bạn có một bộ dữ liệu mà bạn muốn lưu trữ trong tệp CSV, bạn phải sử dụng hàm writer[]. Để lặp lại dữ liệu qua các hàng [dòng], bạn phải sử dụng hàm writerow[]
Xem xét ví dụ sau. Chúng tôi ghi dữ liệu vào một tập tin “writeData. csv” trong đó dấu phân cách là dấu nháy đơn
#import necessary modules import csv with open['X:\writeData.csv', mode='w'] as file: writer = csv.writer[file, delimiter=',', quotechar='"', quoting=csv.QUOTE_MINIMAL] #way to write to csv file writer.writerow[['Programming language', 'Designed by', 'Appeared', 'Extension']] writer.writerow[['Python', 'Guido van Rossum', '1991', '.py']] writer.writerow[['Java', 'James Gosling', '1995', '.java']] writer.writerow[['C++', 'Bjarne Stroustrup', '1985', '.cpp']]
Kết quả trong tệp csv là
Programming language, Designed by, Appeared, Extension Python, Guido van Rossum, 1991, .py Java, James Gosling, 1995, .java C++, Bjarne Stroustrup,1983,.cpp
Đọc tệp CSV bằng Pandas
Pandas là một thư viện mã nguồn mở cho phép bạn nhập CSV bằng Python và thực hiện thao tác dữ liệu. Pandas cung cấp một cách dễ dàng để tạo, thao tác và xóa dữ liệu
You must install pandas library with command pip install pandas
. In Windows, you will execute this command in Command Prompt while in Linux in the Terminal.
Đọc CSV thành DataFrame của gấu trúc rất nhanh chóng và dễ dàng
#import necessary modules import pandas result = pandas.read_csv['X:\data.csv'] print[result]
Kết quả của ví dụ Pandas CSV đã đọc
Programming language, Designed by, Appeared, Extension 0 Python, Guido van Rossum, 1991, .py 1 Java, James Gosling, 1995, .java 2 C++, Bjarne Stroustrup,1983,.cpp
Thư viện rất hữu ích. Chỉ trong ba dòng mã, bạn có kết quả giống như trước đó. Pandas biết rằng dòng đầu tiên của CSV chứa tên cột và nó sẽ tự động sử dụng chúng
Viết tệp CSV bằng Pandas
Ghi vào tệp CSV bằng Pandas dễ dàng như đọc. Ở đây bạn có thể thuyết phục trong đó. Trước tiên, bạn phải tạo DataFrame dựa trên mã Python ghi vào mã CSV sau
from pandas import DataFrame C = {'Programming language': ['Python','Java', 'C++'], 'Designed by': ['Guido van Rossum', 'James Gosling', 'Bjarne Stroustrup'], 'Appeared': ['1991', '1995', '1985'], 'Extension': ['.py', '.java', '.cpp'], } df = DataFrame[C, columns= ['Programming language', 'Designed by', 'Appeared', 'Extension']] export_csv = df.to_csv [r'X:\pandaresult.csv', index = None, header=True] # here you have to write path, where result file will be stored print [df]
Đây là đầu ra
Programming language, Designed by, Appeared, Extension 0 Python, Guido van Rossum, 1991, .py 1 Java, James Gosling, 1995, .java 2 C++, Bjarne Stroustrup,1983,.cpp
Và tệp CSV được tạo tại vị trí đã chỉ định
Phần kết luận
Vì vậy, bây giờ bạn đã biết cách sử dụng phương thức 'csv' cũng như đọc và ghi dữ liệu ở định dạng CSV. Các tệp CSV được sử dụng rộng rãi trong các ứng dụng phần mềm vì chúng dễ đọc và dễ quản lý, đồng thời kích thước nhỏ giúp chúng xử lý và truyền tải tương đối nhanh
Mô-đun csv cung cấp các hàm và lớp khác nhau cho phép bạn đọc và viết dễ dàng. Bạn có thể xem tài liệu Python chính thức và tìm một số mẹo và mô-đun thú vị hơn. CSV là cách tốt nhất để lưu, xem và gửi dữ liệu. Trên thực tế, nó không quá khó để học như lúc đầu. Nhưng với một chút luyện tập, bạn sẽ thành thạo nó
Pandas là một giải pháp thay thế tuyệt vời để đọc các tệp CSV
Ngoài ra, có nhiều cách khác để phân tích tệp văn bản bằng các thư viện như ANTLR, PLY và PlyPlus. Tất cả chúng đều có thể xử lý phân tích cú pháp hạng nặng và nếu thao tác Chuỗi đơn giản không hoạt động, thì có các biểu thức chính quy mà bạn có thể sử dụng