当然,下面我将详细讲解如何利用python创建、读取和修改CSV数据文件的完整攻略。
创建CSV文件
要创建CSV文件,我们可以使用Python内置的csv库。可以使用csv.writer对象将数据写入CSV文件中。假设我们要写入以下数据:
名称 | 得分 |
---|---|
Alice | 90 |
Bob | 85 |
Cindy | 75 |
David | 80 |
Emily | 95 |
以下是Python代码示例:
import csv
data = [
['名称', '得分'],
['Alice', 90],
['Bob', 85],
['Cindy', 75],
['David', 80],
['Emily', 95]
]
with open('scores.csv', 'w', newline='') as csv_file:
writer = csv.writer(csv_file)
writer.writerows(data)
print("CSV文件已经成功创建!")
上面的代码,首先我们将要写入的数据定义在一个列表中,然后将文件名设为'scores.csv',打开CSV文件并指定打开模式为'w'(写入),同时指定newline='',这可以避免写入的数据出现额外的空行。接着,我们使用csv.writer对象将数据写入CSV文件中。最后,在with语句块之外,我们将输出一条消息来告诉用户CSV文件已经成功创建。
读取CSV文件
读取CSV文件使我们可以得到它的内容,以便在我们的Python程序中进行处理。同样,我们可以使用Python内置的csv库,以处理读取CSV文件中的数据。假设我们在之前创建的CSV文件中读取数据,则我们可以使用以下的Python代码:
import csv
with open('scores.csv', 'r') as csv_file:
reader = csv.reader(csv_file)
next(reader) # 忽略文件的第一行,也就是表头行
for row in reader:
name = row[0]
score = int(row[1])
print(name, score)
上面的代码,我们首先打开' scores.csv' 文件,并使用 csv.reader对象获取内容。我们使用next(reader)跳过文件的第一行,也就是表头行,因为我们不需要处理这行内容。之后,我们使用for循环迭代CSV文件中的每一行数据,并将其分配给变量name和score。最终,我们将name和score 输出到控制台。
修改CSV文件
要修改CSV文件,我们需要先读取文件的内容,然后按照需求对其进行修改,再将修改后的内容写入CSV文件中。下面是一个简单的例子,假设我们要为在CSV文件中为每个姓名添加一个“先生/女士”的称呼:
import csv
with open('scores.csv', 'r') as csv_file:
reader = csv.reader(csv_file)
scores = []
for row in reader:
scores.append(row)
for row in scores[1:]:
row[0] = 'Mr. ' + row[0] if row[1] >= 80 else 'Ms. ' + row[0]
with open('scores-new.csv', 'w', newline='') as csv_file:
writer = csv.writer(csv_file)
writer.writerows(scores)
print("CSV文件已经成功修改!")
上面的代码,我们首先利用csv库读取CSV文件中的所有数据,并且将其存在一个名为scores的列表中。在循环中,我们文件的第一行,并且我们迭代每一个行数据。如果每个姓名对应的得分大于等于80,则添加一个“先生”的称呼,否则添加“女士”的称呼。
最后,我们打开一个新的CSV文件'scores-new.csv',并将修改后的数据写入其中。同时,我们在with语句块之外再次输出一条消息来告诉用户,CSV文件已经成功修改!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:如何利用python创建、读取和修改CSV数据文件 - Python技术站