Làm cách nào để cập nhật một cột trong tệp csv trong python?

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,

________số 8_______

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. r1993

Bả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ại

Tà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

Chủ Đề