Giá trị được phân tách bằng dấu phẩy [CSV] là một trong những định dạng được biết đến rộng rãi nhất để chia sẻ dữ liệu theo hàng và cột trong một chương trình. Nhiều chuyên gia khoa học dữ liệu và doanh nghiệp sử dụng tệp CSV để lưu trữ và tìm nạp dữ liệu để sử dụng chúng làm tập dữ liệu. Python cho phép đọc và ghi tất cả dữ liệu từ tệp CSV bằng một số mô-đun. Trong bài viết này, bạn sẽ tìm hiểu về các phương pháp khác nhau mà chúng tôi có thể sử dụng để đọc và ghi tệp bằng CSV
Tệp CSV là gì?
Các tệp CSV [Giá trị được phân tách bằng dấu phẩy] là các định dạng lưu trữ dữ liệu cụ thể giúp lưu trữ dữ liệu theo kiểu bảng. Cấu trúc của tệp CSV có thể được diễn giải ở định dạng bảng tính hoặc cơ sở dữ liệu. Nhà phát triển có thể lưu trữ dữ liệu ở dạng văn bản thuần túy [thường là kiểu dữ liệu chuỗi & số] và mỗi dữ liệu này được phân tách bằng dấu phẩy biểu thị dữ liệu trong hàng và cột
Mỗi dòng của một. tệp csv xác định bản ghi dữ liệu. Bản ghi chứa một hoặc nhiều trường và các giá trị có dấu phẩy [còn được gọi là dấu phân cách] xác định chúng một cách riêng biệt
Đọc và ghi tệp CSV bằng Pandas
Pandas là một trong những thư viện phổ biến nhất để phân tích dữ liệu. Nó có cấu trúc dữ liệu khác nhau. Sê-ri, Khung dữ liệu và Bảng điều khiển. Trong số tất cả các cấu trúc dữ liệu này, DataFrame giúp cấu trúc cột ở định dạng bảng. Do đó, đây là cấu trúc dữ liệu được sử dụng phổ biến nhất trong việc tạo và quản lý bộ dữ liệu hoặc phân tích trong lĩnh vực khoa học dữ liệu
Mô-đun mạnh mẽ này giúp phân tích dữ liệu và thao tác dữ liệu rất dễ dàng bằng cách sử dụng một số mô-đun được xác định trước. Tệp CSV là định dạng tệp phổ biến nhất để hoạt động với bộ dữ liệu
Pandas sử dụng DataFrame để hiển thị dữ liệu của tệp ccsv. Các nhà phát triển có thể thao tác dễ dàng và đơn giản với các tệp CSV thông qua mô-đun Pandas. Nó có hai phương pháp tích hợp. read_csv[] và to_csv[] lần lượt đọc và ghi vào tệp CSV
Chương trình
import pandas as pd
data = {
'IND': {'COUNTRY': 'India', 'POP': 1_398.72, 'AREA': 9_596.96,
'GDP': 12_234.78, 'CONT': 'Asia'},
'CAND': {'COUNTRY': 'Canada', 'POP': 1_351.16, 'AREA': 3_287.26,
'GDP': 2_575.67, 'CONT': 'Asia', 'IND_DAY': '1947-08-15'},
'USA': {'COUNTRY': 'US', 'POP': 329.74, 'AREA': 9_833.52,
'GDP': 19_485.39, 'CONT': 'N.America',
'IND_DAY': '1776-07-04'},
'THAI': {'COUNTRY': 'Thailand', 'POP': 268.07, 'AREA': 1_910.93,
'GDP': 1_015.54, 'CONT': 'Asia', 'IND_DAY': '1945-08-17'},
'BRAZ': {'COUNTRY': 'Brazil', 'POP': 210.32, 'AREA': 8_515.77,
'GDP': 2_055.51, 'CONT': 'S.America', 'IND_DAY': '1822-09-07'},
'BDSH': {'COUNTRY': 'Bangladesh', 'POP': 205.71, 'AREA': 881.91,
'GDP': 302.14, 'CONT': 'Asia', 'IND_DAY': '1947-08-14'},
'NGA': {'COUNTRY': 'Nigeria', 'POP': 200.96, 'AREA': 923.77,
'GDP': 375.77, 'CONT': 'Africa', 'IND_DAY': '1960-10-01'},
'BHT': {'COUNTRY': 'BHUTAN', 'POP': 167.09, 'AREA': 147.57,
'GDP': 245.63, 'CONT': 'Asia', 'IND_DAY': '1971-03-26'},
'RUS': {'COUNTRY': 'Russia', 'POP': 146.79, 'AREA': 17_098.25,
'GDP': 1_530.75, 'IND_DAY': '1992-06-12'},
'GER': {'COUNTRY': 'GERMANY', 'POP': 126.58, 'AREA': 1_964.38,
'GDP': 1_158.23, 'CONT': 'N.America', 'IND_DAY': '1810-09-16'},
'JPN': {'COUNTRY': 'Japan', 'POP': 126.22, 'AREA': 377.97,
'GDP': 4_872.42, 'CONT': 'Asia'},
'UAE': {'COUNTRY': 'UAE', 'POP': 83.02, 'AREA': 357.11,
'GDP': 3_693.20, 'CONT': 'Europe'},
'FRA': {'COUNTRY': 'France', 'POP': 67.02, 'AREA': 640.68,
'GDP': 2_582.49, 'CONT': 'Europe', 'IND_DAY': '1789-07-14'},
}
columns = ['COUNTRY', 'POP', 'AREA', 'GDP', 'CONT', 'IND_DAY']
df = pd.DataFrame[data = data, index = columns]
print[df]
df.to_csv['Country_data.csv']
đầu ra
Giải trình
Đầu tiên, chúng tôi đã nhập gấu trúc và đặt bí danh cho nó là pd. Sau đó, chúng tôi đã sử dụng khái niệm từ điển lồng nhau [được đặt tên là dữ liệu] để tạo Khung dữ liệu Pandas. Chúng tôi cũng đã tạo một bộ dữ liệu chứa chuỗi riêng biệt sẽ chỉ định tên cột sẽ được hiển thị trong DataFrame
Sau đó, chúng tôi đã sử dụng pd. DataFrame[] để tạo khung dữ liệu từ từ điển dữ liệu đó. Sau đó, chúng tôi in nó bằng hàm print[] và cuối cùng sử dụng hàm df. to_csv[] để đưa những dữ liệu này vào tệp CSV
Chương trình
import pandas as pd
dataf = pd.read_csv["Country_data.csv"]
print[dataf]
đầu ra
Giải trình
Đầu tiên, chúng tôi đã nhập gấu trúc và đặt bí danh cho nó là pd. Sau đó, chúng tôi đã sử dụng phương thức read_csv[] của gấu trúc để đọc tệp CSV. Nó chấp nhận đường dẫn tệp csv tuyệt đối hoặc tương đối làm tham số của nó. Sau đó, chúng tôi lưu trữ dữ liệu tệp đó trong đối tượng dataf và sử dụng hàm print[] để in giá trị của tệp CSV
Đọc và ghi tệp CSV bằng mô-đun CSV của Python
Khi các lập trình viên muốn có một tập hợp dữ liệu mà bạn sẽ lưu trữ ở định dạng CSV, họ cũng có thể sử dụng hàm writer[] của mô-đun CSV thay vì Pandas. Để lặp lại dữ liệu qua các hàng [dòng], bạn phải sử dụng hàm writerow[]
Chương trình
import csv
with open['ProgrammingLang.csv', mode='w'] as f:
writer = csv.writer[f, delimiter = ',', quotechar = '"', quoting = csv.QUOTE_MINIMAL]
writer.writerow[['LAGUAGES', 'CREATORS', 'CAME IN', 'FILE EXT']]
writer.writerow[['Python', 'Guido van Rossum', '1991', '.py']]
writer.writerow[['C++', 'Bjarne Stroustrup', '1985', '.cpp']]
writer.writerow[['Java', 'James Gosling', '1995', '.java']]
đầu ra
Giải trình
Ở đây chúng ta phải nhập mô-đun csv trước. Sau đó, chúng tôi sẽ sử dụng with open để mở tệp csv nơi chúng tôi muốn lưu trữ dữ liệu của mình dưới dạng các giá trị được phân tách bằng dấu phẩy. Trong khi mở tệp, chúng tôi cũng sẽ chỉ định chế độ của tệp [ở đây là chế độ ghi]
Sau đó, chúng tôi sẽ sử dụng csv. writer[] để chỉ định định dạng và cách chúng tôi muốn lưu trữ dữ liệu. Để lặp lại việc thêm dữ liệu trên các hàng [dòng], chúng tôi đã sử dụng phương thức writerow[]
Chương trình
import csv
r = csv.DictReader[open["ProgrammingLang.csv"]]
for dat in r:
print[dat]
đầu ra
Giải trình
Đầu tiên, chúng tôi sẽ nhập mô-đun csv. Sau đó, chúng tôi sẽ sử dụng phương thức DictReader[] và chuyển đường dẫn tuyệt đối hoặc tương đối của tệp csv làm tham số của nó. Sau đó, chúng tôi gán toàn bộ giá trị trong một đối tượng [ở đây r]. Sau đó, chúng ta phải chạy một vòng lặp for cho đến khi r sẽ đọc từng hàng từng dòng và sẽ tìm nạp từ csv để hiển thị dưới dạng từ điển. Cuối cùng, trong đó for chúng ta phải sử dụng hàm print[]
Sự kết luận
Trong số hai mô-đun này, Pandas thường được sử dụng trong các hoạt động liên quan đến khoa học dữ liệu. Nhưng Pandas kém hiệu quả hơn so với CSV. CSV là một mô-đun có sẵn mà các lập trình viên Python không phải cài đặt riêng. Nhưng Pandas cần cài đặt. Dữ liệu trong CSV hầu hết là các kiểu dữ liệu Python cơ bản như từ điển
Nhưng trong Pandas, cấu trúc dữ liệu mà nó sử dụng để hiển thị hoặc lưu trữ csv nằm trong DataFrame. Nếu bạn không lập kế hoạch cho bất kỳ hoạt động nào liên quan đến Khoa học dữ liệu, thì bạn có thể sử dụng mô-đun CSV