下面是“Python中CSV文件(逗号分割)实战操作指南”的完整攻略:
什么是CSV文件?
CSV(Comma Separated Values)文件是一种普遍的电子表格或数据库中存储数据的格式。CSV文件通常以逗号分隔,每行表示一个数据行,每列表示数据的不同属性。文件可以在电子表格程序(如Microsoft Excel)或文本编辑器中打开。
读取CSV文件
在Python中,打开CSV文件可以使用内置库csv。
首先要导入csv库:
import csv
接下来,使用csv.reader()
方法读取CSV文件内容。下面是一个读取CSV文件data.csv
的例子。该文件的第一行是表头,其余行是数据。
with open('data.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
header = next(reader) # 读取表头
for row in reader:
print(row)
上述代码中,with open('data.csv', 'r') as csvfile:
打开CSV文件data.csv
并以只读模式打开。使用csv.reader()
读取文件。调用next()
方法后,可以跳过表头并从第二行开始读取数据行。
在循环中,可以通过row
来依次访问每行数据。可根据需要进行进一步处理。
写入CSV文件
同样是使用csv库,利用csv.writer()
方法和writerow()
方法写入CSV文件。下面是一个将二维列表写入到CSV文件output.csv
的例子。
import csv
data = [
['Name', 'Age', 'Gender'],
['Tom', '25', 'Male'],
['Alice', '30', 'Female'],
['Bob', '20', 'Male']
]
with open('output.csv', 'w', newline='') as csvfile:
writer = csv.writer(csvfile)
for row in data:
writer.writerow(row)
上述代码中,with open('output.csv', 'w', newline='') as csvfile:
打开CSV文件output.csv
并以写入模式打开。使用csv.writer()
方法创建一个写入器writer
。在循环中,将每行数据写入文件中。
示例1:读取成绩单并计算平均分
以下是一个从CSV文件中读取成绩单并计算平均分的示例。假设成绩单在文件scores.csv
中,格式为“姓名,数学成绩,语文成绩,英语成绩”。
import csv
with open('scores.csv', 'r') as csvfile:
reader = csv.reader(csvfile)
next(reader) # 跳过表头
total_score = 0
num_students = 0
for row in reader:
math_score = int(row[1])
chinese_score = int(row[2])
english_score = int(row[3])
total_score += math_score + chinese_score + english_score
num_students += 1
avg_score = total_score / num_students
print('平均成绩为:%.2f' % avg_score)
上述代码中,打开CSV文件scores.csv
并使用csv.reader()
方法读取文件。跳过表头并循环读取每行数据。将每个学生的数学、语文、英语成绩进行加法操作并保存总分,统计学生人数。
最后计算平均成绩并输出。
示例2:将字典写入CSV文件
以下是一个将字典写入CSV文件的示例。将字典内容保存到文件data.csv
中。
import csv
data = [
{'Name': 'Tom', 'Age': 25, 'Gender': 'Male'},
{'Name': 'Alice', 'Age': 30, 'Gender': 'Female'},
{'Name': 'Bob', 'Age': 20, 'Gender': 'Male'}
]
with open('data.csv', 'w', newline='') as csvfile:
fieldnames = ['Name', 'Age', 'Gender']
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
for row in data:
writer.writerow(row)
上述代码中,创建字典数据,并使用csv.DictWriter()
方法和writerow()
方法将字典写入到CSV文件中。在创建writer
对象时,需要给出CSV文件中每一列的字段名。先写入CSV文件的表头,之后循环写入每一行数据。
以上是Python中CSV文件(逗号分割)的实战操作指南。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:Python中CSV文件(逗号分割)实战操作指南 - Python技术站