下面是Python读取和写入操作CSV文件的方法的完整攻略。
概述
CSV是一种简单的文件格式,常用于存储和交换表格数据。Python提供了许多方便的库来读取和写入CSV文件,比如csv、pandas等。这篇攻略将介绍如何使用csv库读取和写入CSV文件。
读取CSV文件
使用csv库读取CSV文件的步骤如下:
- 导入csv库。
- 打开CSV文件。
- 创建一个csv.reader对象。
- 逐行读取CSV文件。
- 关闭CSV文件。
以下是一个示例代码,演示了如何读取一个包含商品名称和价格的CSV文件,并输出每一行的内容:
import csv
with open('products.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for row in csv_reader:
print(row)
在这个示例中,我们首先使用open()
函数打开了一个名为products.csv的CSV文件,并用读取模式打开它。接下来,我们使用csv.reader()
函数创建了一个CSV阅读器对象,并将其分配给变量csv_reader
。我们使用了一个for循环,逐行读取CSV文件中的内容,并将每行作为一个列表打印出来。
写入CSV文件
使用csv库写入CSV文件的步骤如下:
- 导入csv库。
- 打开CSV文件。
- 创建一个csv.writer对象。
- 写入CSV文件。
- 关闭CSV文件。
以下是一个示例代码,演示了如何将Python列表写入CSV文件中:
import csv
products = [
['Product Name', 'Price'],
['Apple', 1.25],
['Banana', 0.95],
['Orange', 1.50]
]
with open('products.csv', 'w', newline='') as csv_file:
csv_writer = csv.writer(csv_file)
for product in products:
csv_writer.writerow(product)
在这个示例中,我们首先定义了一个列表products
,其中包含了商品名称和价格的信息。接下来,我们使用open()
函数打开了一个名为products.csv的CSV文件,并用写入模式打开它。我们使用csv.writer()
函数创建了一个CSV写入器对象,并将其分配给变量csv_writer
。我们使用了一个for循环,逐个将列表products
中的每个子列表写入CSV文件中。
示例说明
示例1
假设我们有一个含有学生信息的CSV文件,文件名为students.csv,格式如下:
name,age,gender,grade
Lucy,18,Freshman,A
Tom,20,Junior,B
Lily,19,Sophomore,C
我们想要读取这个CSV文件,并打印出每一行学生信息。则可以按照以下步骤进行操作:
- 通过
open()
函数打开students.csv文件,选择读取模式。 - 通过
csv.reader()
函数创建一个阅读器对象。 - 使用循环逐行读取文件中的内容,并将其打印出来。
以下是示例代码:
import csv
with open('students.csv', 'r') as csv_file:
csv_reader = csv.reader(csv_file)
for row in csv_reader:
print(row)
执行结果如下:
['name', 'age', 'gender', 'grade']
['Lucy', '18', 'Freshman', 'A']
['Tom', '20', 'Junior', 'B']
['Lily', '19', 'Sophomore', 'C']
示例2
假设我们有一个存储学生成绩的Python列表,内容如下:
grades = [
['Name', 'Math', 'English', 'Science'],
['Lucy', 75, 80, 90],
['Tom', 85, 75, 80],
['Lily', 90, 95, 80]
]
我们想要将这个列表写入CSV文件中,并存储为grades.csv,则可以按照以下步骤进行操作:
- 通过
open()
函数打开grades.csv文件,选择写入模式。 - 通过
csv.writer()
函数创建一个写入器对象。 - 使用循环逐行将列表中的内容写入CSV文件中。
以下是示例代码:
import csv
grades = [
['Name', 'Math', 'English', 'Science'],
['Lucy', 75, 80, 90],
['Tom', 85, 75, 80],
['Lily', 90, 95, 80]
]
with open('grades.csv', 'w', newline='') as csv_file:
csv_writer = csv.writer(csv_file)
for row in grades:
csv_writer.writerow(row)
这样,在执行完以上代码后,系统会在当前目录下生成一个名为grades.csv的文件,其中包含了我们指定的学生成绩信息。
希望这篇攻略能够对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:详解Python读取和写入操作CSV文件的方法 - Python技术站