Python读写CSV文件方法详细总结
什么是CSV文件?
CSV(Comma-Separated Value)文件是一种简单的文件格式,用于存储表格或类似于表格的结构数据。CSV文件的每一行表示一个数据记录,该行中的每个字段由逗号分隔并且没有特殊的格式要求。CSV文件通常用于在不同的程序之间交换数据,例如:Excel、数据库等。
Python读取CSV文件
Python标准库提供了csv模块,可以方便地读取和写入CSV文件。下面是一个简单的读取CSV文件的Python示例:
import csv
with open('example.csv', newline='') as f:
reader = csv.reader(f)
for row in reader:
print(row)
这个示例使用了csv模块的reader()函数,该函数返回一个迭代器,可以逐行读取CSV文件的内容。其中的newline=''参数用于避免Windows系统中的换行符问题。
Python写入CSV文件
除了读取CSV文件,Python也可以轻松地写入CSV文件。下面是一个写入CSV文件的Python示例:
import csv
with open('example.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(['Name', 'Age', 'Gender'])
writer.writerow(['Tom', 18, 'Male'])
writer.writerow(['Lucy', 20, 'Female'])
这个示例使用了csv模块的writer()函数,可以向CSV文件中写入多个数据行。其中的newline=''参数用于避免Windows系统中的换行符问题。
示例一:读取CSV文件并计算数值列的平均值
假设你有一个名为example.csv的CSV文件,其中包含了3列数据,分别为姓名、年龄和成绩。你想要读取CSV文件并计算成绩列的平均值。下面是一个Python示例,演示了如何实现这个目标:
import csv
with open('example.csv', newline='') as f:
reader = csv.reader(f)
next(reader) # 跳过表头
total = 0
count = 0
for row in reader:
total += float(row[2])
count += 1
avg = total / count
print('Average score:', avg)
这个示例使用了csv模块的reader()函数,可以逐行读取CSV文件的内容。其中的next(reader)语句用于跳过CSV文件的第一行,即表头。
示例二:从Python字典写入CSV文件
假设你有一个Python字典,其中包含了名为student的学生数据,包括姓名、年龄和成绩。你想要将这个字典写入CSV文件中。下面是一个Python示例,演示了如何实现这个目标:
import csv
student = {'Name': 'Tom', 'Age': 18, 'Score': 90}
with open('example.csv', 'w', newline='') as f:
fieldnames = ['Name', 'Age', 'Score']
writer = csv.DictWriter(f, fieldnames=fieldnames)
writer.writeheader()
writer.writerow(student)
这个示例使用了csv模块的DictWriter()函数,可以将Python字典写入CSV文件中。其中的fieldnames参数用于指定CSV文件中每列的字段名,writer.writeheader()语句用于写入CSV文件表头。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:python读写csv文件方法详细总结 - Python技术站