Bài viết này sẽ thảo luận về cách thay đổi giá trị ô trong tệp CSV bằng thư viện Pandas trong Python
Mục lục
Giả sử chúng ta có một tệp CSV như thế này,
Id,Name,Age,City,Experience a,John,49,London,15 b,Mark,44,New York,13 c,Joseph,48,Tokyo,14 d,Ritika,41,Delhi,11 e,Vinod,43,Mumbai,13 f,Saurav,51,Sydney,13 g,Lucy,52,Paris,13
Chúng tôi có thể sửa đổi tệp CSV này bằng Pandas bằng cách thay đổi một số giá trị ô. Để làm được điều đó, trước tiên chúng ta cần nhập tệp CSV vào DataFrame. Sau đó, chúng ta có thể thay đổi giá trị ô bằng cách chọn chúng theo nhãn hàng/cột hoặc theo vị trí chỉ mục
Ví dụ: chúng ta có thể thay đổi giá trị của ô ở hàng 'c' và cột 'Tuổi' thành 56 i. e
quảng cáo
Id,Name,Age,City,Experience a,John,49,London,15 b,Mark,44,New York,13 c,Joseph,56,Tokyo,14 d,Ritika,41,Delhi,11 e,Vinod,43,Mumbai,13 f,Saurav,51,Sydney,13 g,Lucy,52,Paris,13
hoặc ta có thể thay đổi giá trị của ô ở hàng số 5 và cột số 2 thành 55 i. e
Id,Name,Age,City,Experience a,John,49,London,15 b,Mark,44,New York,13 c,Joseph,56,Tokyo,14 d,Ritika,41,Delhi,11 e,Vinod,55,Mumbai,13 f,Saurav,51,Sydney,13 g,Lucy,52,Paris,13
Hãy xem làm thế nào để làm điều đó
Thay đổi giá trị ô của tệp CSV theo nhãn hàng/cột
Trước tiên, chúng ta cần nhập tệp CSV vào Khung dữ liệu Pandas bằng hàm read_csv[]. Sau đó, chúng ta có thể thay đổi giá trị của một ô bằng cách sử dụng thuộc tính loc[]. Trong thuộc tính loc, chúng ta cần chuyển nhãn chỉ mục hàng và tên cột như thế này,
df.loc[row_label, column name]
Nó trả về một tham chiếu của ô được chỉ định từ DataFrame. Chúng tôi có thể gán một giá trị mới cho nó và giá trị ô trong DataFrame sẽ được sửa đổi. e
df.loc[row_label, column name] = new_value
Khi DataFrame được sửa đổi, chúng tôi có thể lưu DataFrame vào cùng một tệp CSV bằng hàm to_csv[] và giá trị ô trong tệp CSV sẽ được cập nhật
Hãy xem ví dụ thực tế,
Nội dung của tệp CSV nhân viên. tệp csv là,
Id,Name,Age,City,Experience a,John,49,London,15 b,Mark,44,New York,13 c,Joseph,48,Tokyo,14 d,Ritika,41,Delhi,11 e,Vinod,43,Mumbai,13 f,Saurav,51,Sydney,13 g,Lucy,52,Paris,13
Bây giờ, hãy thay đổi giá trị của một ô trong hàng 'c' và cột 'Tuổi' thành 56,
import pandas as pd df = pd.read_csv['employees.csv', index_col='Id'] # Set cell value at row 'c' and column 'Age' df.loc['c', 'Age'] = 56 # Write DataFrame to CSV file df.to_csv['employees.csv']
Nội dung của người lao động. tập tin csv sương mù bây giờ như thế này,
Id,Name,Age,City,Experience a,John,49,London,15 b,Mark,44,New York,13 c,Joseph,56,Tokyo,14 d,Ritika,41,Delhi,11 e,Vinod,43,Mumbai,13 f,Saurav,51,Sydney,13 g,Lucy,52,Paris,13
Giá trị của ô tại [‘c’, ‘Age’] hiện là 56
Thay đổi giá trị ô của tệp CSV theo số hàng/cột
Trước tiên, chúng tôi sẽ nhập tệp CSV vào Khung dữ liệu Pandas bằng hàm read_csv[]. Sau đó, chúng ta có thể thay đổi giá trị của một ô theo số hàng và số cột bằng thuộc tính iloc[]. Trong thuộc tính iloc[], chúng ta cần chuyển số chỉ mục hàng và cột như thế này,
Vì số chỉ mục bắt đầu từ 0, để chọn ô ở hàng thứ N và cột thứ M, hãy chuyển N-1 và M-1. Nó trả về một tham chiếu của ô được chỉ định từ DataFrame. Chúng tôi có thể gán một giá trị mới cho nó và giá trị ô đã chọn trong DataFrame sẽ được sửa đổi. e
df.iloc[N-1, M-1] = new_value
Nó thay đổi giá trị của ô ở hàng số N và cột số M. Sau khi Khung dữ liệu được sửa đổi, chúng tôi có thể lưu Khung dữ liệu vào cùng một tệp CSV bằng cách sử dụng giá trị ô hàm to_csv[] trong tệp CSV sẽ được cập nhật
Hãy xem ví dụ thực tế,
Nội dung của tệp CSV nhân viên. tệp csv là,
Id,Name,Age,City,Experience a,John,49,London,15 b,Mark,44,New York,13 c,Joseph,48,Tokyo,14 d,Ritika,41,Delhi,11 e,Vinod,43,Mumbai,13 f,Saurav,51,Sydney,13 g,Lucy,52,Paris,13
Bây giờ, hãy thay đổi giá trị ô ở hàng số 5 và cột số 2. Vì vậy, chúng ta cần giá trị chỉ số hàng 4 và chỉ số cột số 1 trong iloc[] i. e
Python là một cấu trúc dữ liệu linh hoạt cho phép đọc các tệp CSV dễ dàng và nhanh chóng. Để đọc và ghi dữ liệu trong Python, phương thức phân tách được sử dụng để lặp qua các hàng của CSV để lấy dữ liệu từ các cột nhất định
Chức năng trình đọc được sử dụng để tạo đối tượng trình đọc để đọc dữ liệu từ tệp CSV; . Cột dữ liệu biến phải được chọn với chức năng này. Trong trường hợp này, tên tệp là dữ liệu. csv
Xem xét bảng sau để đọc bằng Python
Ngôn ngữ lập trìnhExtensionImplementedPython. py1991Java. java1995C++. cpp1983R. r1993Bảng tương tự được thể hiện trong csv như hình bên dưới
Dữ liệu CVS
Ngôn ngữ lập trình, Tiện ích mở rộng, Đã triển khai
con trăn,. py, 1991
Java,. Java, 1995
C++,. cpp, 1983
R,. r, 1993
#import necessary modules import csv with open['X:\data.csv','rt']as f: data = csv.reader[f] for row in data: print[row]
Tiếp theo, khi chương trình trên được thực thi, đầu ra sẽ như sau
['Programming Language; Extension; Implemented'] ['Python; .py; 1991'] ['Java; .java; 1995'] ['C++; .cpp; 1983'] ['R; .r; 1993']
Viết tệp CSV bằng Python
Để ghi dữ liệu trong tệp Python sẽ được lưu trữ trong CSV, cần sử dụng hàm writer[]. Khi mỗi hàng [dòng] được viết, hãy lặp lại hàm writerow[]
Sau đây là một ví dụ về cách ghi tệp CSV bằng Python. Dữ liệu sẽ được ghi vào một tệp có tên là newdata. csv. Trong tệp này, dấu phân cách là dấu nháy đơn. Dấu phân cách là ký tự được chỉ định để phân tách từng trường. Một tham số khác bao gồm các ký tự bao quanh các trường chứa dấu phân cách
#import necessary modules import csv with open['X:\newdata.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', 'Extension', Implemented]] writer.writerow[['Python', '.py' '1991']] writer.writerow[['Java', ',java', '1995']] writer.writerow[['C++', '.cpp', '1983']] writer.writerow[['R', '.r', '1993']]
Kết quả sẽ là
Programming language, Extension, Implemented Python, .py, 1991 Java, .java, 1995 C++, .cpp, 1983 R, .r, 1993
Lưu tệp CSV
Tệp CSV được tạo tại vị trí đĩa cứng cụ thể đã được chỉ định trong mã trong quá trình ghi
Tom tăt bai học
Các tệp CSV được sử dụng rộng rãi trong nhiều ứng dụng do tính linh hoạt của chúng trong nhiều chương trình. Chúng là các tệp văn bản thuần túy có thể dễ dàng đọc và quản lý, trong khi kích thước nhỏ của chúng cho phép chúng được xử lý nhanh chóng. Tệp CSV sử dụng dấu phẩy hoặc dấu chấm phẩy để phân tách các giá trị dữ liệu cụ thể. Mỗi dòng của tệp CSV đại diện cho một dòng hoặc hàng mới trong bảng, trong khi dấu phẩy hoặc dấu chấm phẩy phân tách dữ liệu trong các cột. Hàng đầu tiên trong tệp CSV thường chứa tên của dữ liệu cột, tuy nhiên, không bắt buộc. Dấu phân cách trong mã đại diện cho ký tự được sử dụng để phân tách dữ liệu trong mỗi trường. Dấu phân cách mặc định trong tệp CSV là dấu phẩy
Một số mô-đun có thể được sử dụng trong Python để thực hiện các chức năng và cung cấp các lớp để đọc và ghi tệp CSV. Các chức năng mô-đun này có thể đại diện cho những thứ như kích thước trường, thông tin phương ngữ và khi văn bản được trích dẫn. Khi ghi tệp CSV, vị trí đầu ra được chỉ định trong mã để cho phép tệp được lưu trên đĩa
Để mở khóa bài học này, bạn phải là một Nghiên cứu. comThành viên
Đăng ký để xem bài học này
Bạn là học sinh hay giáo viên?
tôi là học sinh tôi là giáo viên
Mở khóa giáo dục của bạn
Tự mình khám phá lý do tại sao 30 triệu người sử dụng Study. com
Trở thành một nghiên cứu. thành viên com và bắt đầu học ngay bây giờĐã là thành viên hay chưa?
Trở lạiTài nguyên do giáo viên tạo ra cho giáo viên
Hơn 30.000 bài học video & tài nguyên giảng dạy‐tất cả ở một nơi.
bài học video
Câu đố và Bảng tính
Tích hợp lớp học
kế hoạch bài học
Tôi chắc chắn sẽ giới thiệu Study. com đến các đồng nghiệp của tôi. Nó giống như một giáo viên vung cây đũa thần và làm việc cho tôi. Tôi cảm thấy như đó là một cứu cánh