CSV là định dạng tệp bạn sẽ thường xuyên gặp khi làm việc trong lĩnh vực Khoa học dữ liệu. Nó là một loại tệp văn bản lưu trữ dữ liệu dạng bảng để dễ đọc hơn, dễ hiểu hơn và xử lý nhanh hơn. Tệp CSV có thể được chuyển đổi từ tệp JSON hoặc được tạo bằng Python hoặc Java. Trong bài viết này, tôi sẽ giới thiệu cho bạn những kiến thức cơ bản về tệp CSV và hướng dẫn bạn các cách khác nhau để đọc và ghi tệp CSV bằng Python. Chúng tôi đang tập trung vào Python vì nó có thư viện csv tích hợp giúp dễ dàng đọc dữ liệu từ tệp CSV và ghi vào chúng. Các hướng dẫn Python từng bước trong bài viết này chắc chắn sẽ đơn giản và dễ làm theo ngay cả đối với người mới bắt đầu
Bài viết này đã được xuất bản như một phần của Data Science Blogathon
Mục lục
- CSV là gì?
- Làm cách nào để đọc tệp CSV bằng Python?
- Làm cách nào để ghi vào Python CSV?
CSV là gì?
CSV là viết tắt của “Các giá trị được phân tách bằng dấu phẩy. ” Đây là hình thức đơn giản nhất để lưu trữ dữ liệu ở dạng bảng dưới dạng văn bản thuần túy. Điều quan trọng là phải biết làm việc với CSV vì chúng tôi chủ yếu dựa vào dữ liệu CSV trong cuộc sống hàng ngày với tư cách là nhà khoa học dữ liệu
Cấu trúc của CSV
Chúng tôi có một tệp có tên “Salary_Data. csv. ” Dòng đầu tiên của tệp CSV là tiêu đề. Nó chứa tên của các trường/tính năng được hiển thị ở trên cùng dưới dạng tên cột trong tệp
Sau tiêu đề, mỗi dòng của tệp là một quan sát/bản ghi. Các giá trị của một bản ghi được phân tách bằng dấu phẩy. ”
Làm cách nào để đọc tệp CSV bằng Python?
Có nhiều cách khác nhau để đọc dữ liệu trong tệp CSV, bây giờ chúng ta sẽ xem từng cách một
2. 1 Sử dụng csv. người đọc
Bạn có thể đọc tệp CSV bằng csv. đối tượng reader từ mô-đun csv của Python
Các bước để đọc tệp CSV bằng trình đọc csv
1. Nhập thư viện csv
import csv
2. Mở tệp CSV
Các. Phương thức open[] trong python được sử dụng để mở tệp và trả về một đối tượng tệp
file = open['Salary_Data.csv']
type[file]
Loại tệp là “_io. TextIOWrapper” là đối tượng tệp được trả về bởi phương thức open[]
3. Sử dụng tệp csv. đối tượng reader để đọc tệp CSV
csvreader = csv. người đọc [tập tin]
4. Trích xuất tên trường
Tạo một danh sách trống gọi là tiêu đề. Sử dụng phương thức next[] để lấy tiêu đề
Các. Phương thức next[] trả về hàng hiện tại và di chuyển đến hàng tiếp theo
Lần đầu tiên bạn chạy next[], nó sẽ trả về tiêu đề và lần chạy tiếp theo, nó sẽ trả về bản ghi đầu tiên, v.v.
header = []
header = next[csvreader]
header
5. Trích xuất các hàng/bản ghi. Tạo một danh sách trống có tên là rows và lặp qua đối tượng csvreader và nối từng hàng vào danh sách rows. rows = []
for row in csvreader:
rows.append[row]
rows
6. Đóng tệp
Phương thức close[] dùng để đóng file đã mở. Khi nó bị đóng, chúng tôi không thể thực hiện bất kỳ thao tác nào trên nó
file.close[]
Hoàn thành mã
Mã Python
Đương nhiên, chúng ta có thể quên đóng một tệp đang mở. Để tránh điều đó, chúng ta có thể sử dụng câu lệnh with[] để tự động giải phóng tài nguyên. Nói một cách đơn giản, không cần phải gọi. phương thức close[] nếu chúng ta đang sử dụng câu lệnh with[]
Triển khai đoạn mã trên bằng cách sử dụng câu lệnh with[]
cú pháp. với open[filename, mode] là alias_filename
chế độ
'r' - để đọc một tệp hiện có,
'w' - để tạo một tệp mới nếu tệp đã cho không tồn tại và ghi vào tệp đó,
'a' - để thêm vào nội dung tệp hiện có,
‘+’ – để tạo một tệp mới để đọc và ghi
import csv
rows = []
with open["Salary_Data.csv", 'r] as file:
csvreader = csv.reader[file]
header = next[csvreader]
for row in csvreader:
rows.append[row]
print[header]
print[rows]
2. 2 Sử dụng. đường đọc []
Bây giờ câu hỏi là – “Có thể tìm nạp tiêu đề, các hàng chỉ bằng các câu lệnh open[] và with[] mà không cần thư viện csv không?”
phương thức readlines[] là câu trả lời. Nó trả về tất cả các dòng trong một tệp dưới dạng danh sách. Mỗi mục của danh sách là một hàng trong tệp CSV của chúng tôi
Hàng đầu tiên của tệp. readlines[] là tiêu đề và phần còn lại là các bản ghi
with open['Salary_Data.csv'] as file:
content = file.readlines[]
header = content[:1]
rows = content[1:]
print[header]
print[rows]
** Có thể xóa 'n' khỏi đầu ra bằng cách sử dụng. phương thức dải []
Điều gì sẽ xảy ra nếu chúng ta có một tập dữ liệu khổng lồ với hàng trăm tính năng và hàng nghìn bản ghi?
Đây là thư viện gấu trúc vào hình ảnh
2. 3 Sử dụng gấu trúc
Hãy xem cách gấu trúc được sử dụng để đọc dữ liệu trong tệp CSV
1. Nhập thư viện gấu trúc
import pandas as pd
2. Tải tệp CSV vào pandas bằng read_csv[]
Cú pháp cơ bản. gấu trúc. read_csv[tên tệp, dấu phân cách=’,’]
________số 8_______3. Trích xuất tên trường
các cột được sử dụng để lấy tên tiêu đề/trường
data.columns
4. Trích xuất các hàng
Tất cả dữ liệu của khung dữ liệu có thể được truy cập bằng tên trường
file = open['Salary_Data.csv']
type[file]
02. 4 Sử dụng csv. DictReader
Dict là một bảng băm các khóa và giá trị được cấu trúc bằng Python. Phương thức dict[] được sử dụng để tạo một đối tượng từ điển từ một tập hợp được chỉ định hoặc các lần lặp khóa và giá trị. mô-đun csv. DictReader được sử dụng để đọc tệp CSV. Đây là cách bạn có thể làm điều đó
1. Nhập mô-đun csv
import csv
2. Mở tệp CSV bằng cách sử dụng. open[] với chế độ là 'r' để đọc
file = open['Salary_Data.csv']
type[file]
23. Tạo đối tượng DictReader bằng csv. Phương thức DictReader[]
Lưu ý rằng hàng đầu tiên của tệp CSV phải chứa tên trường
file = open['Salary_Data.csv']
type[file]
34. Sử dụng tệp csv. Đối tượng DictReader để đọc tệp CSV
Lặp lại qua các hàng của tệp CSV bằng cách sử dụng vòng lặp 'for' và đối tượng DictReader để xem tên trường dưới dạng khóa cùng với các giá trị tương ứng của chúng
file = open['Salary_Data.csv']
type[file]
4Làm cách nào để ghi vào Python CSV?
Chúng tôi có thể ghi vào tệp CSV theo nhiều cách
3. 1 Sử dụng csv. nhà văn
tệp csv. hàm writer[] trả về một đối tượng nhà văn chuyển đổi dữ liệu đầu vào thành một chuỗi được phân tách
Ví dụ: giả sử chúng tôi đang ghi dữ liệu 3 Học sinh [Tên, Điểm M1, Điểm M2]
file = open['Salary_Data.csv']
type[file]
5Bây giờ, hãy xem cách dữ liệu này có thể được ghi vào tệp CSV bằng csv. nhà văn
1. Nhập thư viện csv
import csv
2. Xác định tên tệp và Mở tệp bằng open[]
3. Tạo đối tượng csvwriter bằng csv. nhà văn[]
4. Viết tiêu đề
5. Viết phần còn lại của dữ liệu
mã cho các bước 2-5
file = open['Salary_Data.csv']
type[file]
7Dưới đây là giao diện của tệp CSV của chúng tôi
3. 2 Sử dụng. dòng viết []
writelines[] lặp qua từng danh sách, chuyển đổi các phần tử danh sách thành một chuỗi, sau đó ghi nó vào tệp csv
file = open['Salary_Data.csv']
type[file]
83. 3. Sử dụng gấu trúc
Làm theo các bước sau để ghi vào tệp CSV bằng pandas
1. Nhập thư viện gấu trúc
import pandas as pd
2. Tạo một khung dữ liệu gấu trúc bằng cách sử dụng pd. Khung dữ liệu
cú pháp. pd. DataFrame[dữ liệu, cột]
Tham số dữ liệu lấy bản ghi/quan sát và tham số cột lấy tên cột/trường
header = []
header = next[csvreader]
header
03. Ghi vào tệp CSV bằng to_csv[]
cú pháp. Khung dữ liệu. to_csv[tên tệp, sep=’,’, index=False]
**dấu phân cách là ',' theo mặc định
index=False để xóa các số chỉ mục
header = []
header = next[csvreader]
header
1Dưới đây là giao diện của CSV của chúng tôi
3. 4 Sử dụng csv. DictWriter
Bạn có thể ghi dữ liệu vào tệp CSV bằng mô-đun csv. DictReader theo các bước dưới đây
1. Nhập mô-đun csv
import csv
2. Sử dụng. open[], tạo một đối tượng tệp mới với chế độ là 'w' để ghi
Tạo một đối tượng tệp mới bằng cách sử dụng hàm
header = []
header = next[csvreader]
header
8, chỉ định tên tệp với chế độ là 'w' để ghiheader = []
header = next[csvreader]
header
33. Nhập dữ liệu bạn muốn ghi vào tệp CSV dưới dạng danh sách từ điển
header = []
header = next[csvreader]
header
44. Tạo một tệp csv. Đối tượng DictWriter chỉ định đối tượng tệp, tham số tên trường và dấu phân cách
Lưu ý rằng dấu phân cách theo mặc định là ','
header = []
header = next[csvreader]
header
55. Viết hàng tiêu đề bằng phương thức writeheader[]
header = []
header = next[csvreader]
header
66. Bây giờ hãy sử dụng phương thức writerows[] để ghi dữ liệu vào tệp CSV
header = []
header = next[csvreader]
header
7Điều này sẽ tạo một tệp mới có tên 'Students_Data. csv’ với Tên, Điểm M1 và Điểm M2 làm tên đầu trang/cột và các giá trị dữ liệu trong biến dữ liệu
Phần kết luận
Đến bây giờ, tôi chắc rằng tất cả các bạn đã quen thuộc với các cách xử lý tệp CSV khác nhau trong Python. Tôi hy vọng bài viết này là thông tin cho tất cả. Hãy chia sẻ nó với bạn bè học tập của bạn
Chìa khóa rút ra
- Tạo tệp Giá trị được phân tách bằng dấu phẩy [CSV] là cách đơn giản nhất để chuyển đổi dữ liệu phức tạp thành tệp văn bản có thể đọc được
- Tệp có định dạng CSV hiển thị cho bạn dữ liệu dạng bảng được sắp xếp tương tự như trang tính excel
- Bạn có thể đọc tệp CSV bằng Python bằng csv. người đọc,. đường đọc [] hoặc csv. DictReader và viết thành một bằng cách sử dụng. nhà văn,. DictWriter, hoặc. dòng viết []
- Pandas có thể được sử dụng cho cả việc đọc và ghi dữ liệu trong CSV
Các câu hỏi thường gặp
Q1. Làm cách nào để ghi dữ liệu vào tệp CSV bằng Python?
A. Bạn có thể ghi dữ liệu vào tệp CSV bằng Python bằng cách sử dụng gấu trúc hoặc mô-đun csv, chẳng hạn như. nhà văn và. DictWriter, hoặc bởi. phương thức writelines[]
quý 2. Làm cách nào để đọc tệp CSV dưới dạng văn bản trong Python?
A. Có nhiều cách để đọc tệp CSV dưới dạng văn bản thuần túy trong Python bao gồm cả việc sử dụng csv. người đọc,. readlines[], pandas hoặc csv. DictReader
Q3. Bạn có thể đọc và ghi vào tệp CSV cùng lúc bằng Python không?
A. Mặc dù bạn có thể mở tệp CSV ở cả chế độ đọc và ghi trong cùng một chương trình nhưng bạn không thể thực hiện đồng thời cả hai
Người giới thiệu
Kiểm tra mã hoàn chỉnh từ repo GitHub
Vui lòng xem các bài đăng trên blog khác của tôi từ Hồ sơ Vidhya Analytics của tôi
Bạn có thể tìm thấy tôi trên LinkedIn, Twitter trong trường hợp bạn muốn kết nối. Tôi sẽ rất vui khi được kết nối với bạn
Để trao đổi suy nghĩ ngay lập tức, xin vui lòng viết thư cho tôi tại
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ả