CSV(逗號分隔值)文件是數(shù)據(jù)存儲和交換的常見格式,而Python作為一門強大的編程語言,能夠輕松處理CSV文件。本文將通過具體實例分析,展示Python在處理CSV文件方面的便利性和應(yīng)用場景。
首先,讓我們看一個簡單的例子。假設(shè)我們有一個包含學(xué)生信息的CSV文件(students.csv),其中包括學(xué)生姓名、年齡和成績。我們想要通過Python讀取這個文件,并計算平均成績。
import csv
# 打開CSV文件
with open('students.csv', 'r') as file:
# 創(chuàng)建CSV讀取器
csv_reader = csv.reader(file)
# 跳過表頭
next(csv_reader)
# 初始化成績總和和學(xué)生人數(shù)
total_score = 0
num_students = 0
# 逐行讀取文件
for row in csv_reader:
# 提取成績列并轉(zhuǎn)換為整數(shù)
score = int(row[2])
# 累加成績
total_score += score
num_students += 1
# 計算平均成績
average_score = total_score / num_students
print(f'平均成績:{average_score}')
以上代碼演示了如何使用Python的CSV模塊讀取CSV文件,并計算其中一列的平均值。這只是處理CSV文件的冰山一角,Python還提供了豐富的庫和函數(shù),用于處理各種CSV操作,如寫入、過濾、排序等。
接下來,我們看一個更復(fù)雜的例子。假設(shè)我們需要將一個包含商品信息的CSV文件(products.csv)中的特定商品價格降低10%。我們可以使用Python修改CSV文件并保存新的結(jié)果。
import csv
# 打開CSV文件
with open('products.csv', 'r') as file:
# 創(chuàng)建CSV讀取器
csv_reader = csv.reader(file)
# 讀取表頭
header = next(csv_reader)
# 找到價格列的索引
price_index = header.index('Price')
# 讀取并修改每一行的價格
for row in csv_reader:
# 提取價格并轉(zhuǎn)換為浮點數(shù)
price = float(row[price_index])
# 降低價格10%
new_price = price * 0.9
# 更新價格列
row[price_index] = new_price
# 將修改后的結(jié)果寫入新的CSV文件
with open('updated_products.csv', 'w', newline='') as new_file:
# 創(chuàng)建CSV寫入器
csv_writer = csv.writer(new_file)
# 寫入表頭
csv_writer.writerow(header)
# 寫入修改后的行
csv_writer.writerows(rows)
以上例子展示了如何使用Python讀取CSV文件,找到特定列,修改數(shù)據(jù),最后將結(jié)果寫入新的CSV文件。這種操作對于批量處理數(shù)據(jù)非常實用,Python的簡潔語法和豐富的庫讓這些任務(wù)變得相對輕松。
總的來說,Python能夠輕松操控CSV文件,不僅具有良好的讀取和寫入支持,還提供了豐富的數(shù)據(jù)處理功能。這使得Python成為處理CSV文件的理想選擇,無論是簡單的數(shù)據(jù)提取還是復(fù)雜的數(shù)據(jù)處理任務(wù)。