在Python中处理CSV文件通常使用内置的`csv`模块。以下是使用`csv`模块处理CSV文件的基本步骤:
导入csv模块
import csv
读取CSV文件
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
print(row) 打印每一行数据
写入CSV文件
data = [['Name', 'Age', 'Country'],
['John', 25, 'USA'],
['Alice', 30, 'Canada']]
with open('output.csv', 'w', newline='') as file:
writer = csv.writer(file)
writer.writerows(data) 写入多行数据
逐行处理 (适用于大文件):
with open('data.csv', 'r') as file:
csv_reader = csv.reader(file)
for row in csv_reader:
process_row(row) 调用自定义函数处理每一行
使用StringIO读写内存中的CSV
import csv
from io import StringIO
csv_data = '1,John Doe,1002,Jane\n2,Jane Smith,1003,USA'
csv_file = StringIO(csv_data)
csv_reader = csv.reader(csv_file)
for row in csv_reader:
print(row) 打印每一行数据
自定义数据处理
def process_row(row):
对每一列数据进行处理,这里只是将数字字符串转换为整数
processed_row = []
for item in row:
processed_row.append(int(item))
return processed_row[1:] 返回处理后的行,去掉第一列
with open('data.csv', 'r') as file:
reader = csv.reader(file)
for row in reader:
processed_data = process_row(row)
print(processed_data) 打印处理后的数据
以上步骤展示了如何使用Python的`csv`模块进行基本的读取和写入操作,以及如何处理和分析CSV文件中的数据。如果需要更高级的功能,可以考虑使用`pandas`库,它提供了更强大的数据处理能力。