让我们来聊聊Python对CSV文件的读取与写入问题吧!
什么是CSV文件?
CSV是Comma Separated Values(逗号分隔值)的缩写,是一种常用的数据存储格式,在Excel、Google Sheet等软件中也支持导出和导入CSV文件。CSV文件的一行代表一条记录,每个字段通过逗号分隔。
Python如何读取CSV文件?
Python中可使用csv
模块来读取CSV文件,使用起来非常便捷。举个例子,假设我们有一个名为data.csv
的CSV文件,它包含如下数据:
name,age,email
Tom,25,tom@example.com
Jerry,30,jerry@example.com
接下来,我们通过如下代码来读取CSV文件:
import csv
with open('data.csv', 'r') as f:
reader = csv.reader(f)
for row in reader:
print(row)
输出结果如下:
['name', 'age', 'email']
['Tom', '25', 'tom@example.com']
['Jerry', '30', 'jerry@example.com']
我们使用了Python的with
语句来打开CSV文件,csv.reader()
函数将文件对象转换为CSV读取器对象,通过遍历读取器对象返回的每一行数据,就可以得到CSV文件中的所有记录。
Python如何写入CSV文件?
Python中也可使用csv
模块来写入CSV文件,同样非常便捷。假设我们有一个名为output.csv
的空白CSV文件,我们需要通过Python来向其中写入数据。下面是一个示例代码:
import csv
header = ['name', 'age', 'email']
rows = [
('Tom', 25, 'tom@example.com'),
('Jerry', 30, 'jerry@example.com')
]
with open('output.csv', 'w', newline='') as f:
writer = csv.writer(f)
writer.writerow(header)
writer.writerows(rows)
在这个示例代码中,我们首先定义了CSV文件的表头header
和数据记录rows
,其中每条记录都使用元组的形式表示。接下来使用Python的with
语句来打开CSV文件,csv.writer()
函数将文件对象转换为CSV写入器对象。调用writer.writerow()
方法写入表头,然后调用writer.writerows()
方法写入记录。注意在打开CSV文件时使用了newline=''
参数,这是为了避免出现多余的空白行。
这样,我们就成功将数据写入到了CSV文件中。
示例说明
接下来,我们来看两个具体的应用场景。
示例1:统计CSV文件中的行数
假设我们有一个名为data.csv
的CSV文件,我们需要统计其中行数,并输出行数。我们可以通过如下代码实现:
import csv
with open('data.csv', 'r') as f:
reader = csv.reader(f)
rows = list(reader)
print(len(rows))
在这个示例代码中,我们使用了Python的内置函数len()
来计算列表rows
中元素的个数,进而得到CSV文件的行数。
示例2:向CSV文件中添加一条记录
假设我们有一个名为data.csv
的CSV文件,我们需要向其中添加一条记录:Linda, 28, linda@example.com
。我们可以通过如下代码实现:
import csv
new_row = ['Linda', '28', 'linda@example.com']
with open('data.csv', 'a', newline='') as f:
writer = csv.writer(f)
writer.writerow(new_row)
在这个示例代码中,我们首先定义了新记录new_row
,使用Python的with
语句来打开CSV文件,并设置文件打开模式为a
,表示追加模式。接下来,我们使用csv.writer()
函数将文件对象转换为CSV写入器对象,调用writer.writerow()
函数来向文件中追加新记录new_row
。注意同样使用了newline=''
参数来避免出现多余的空白行。
这样,我们就成功向CSV文件中添加了一条新记录。
希望这篇攻略对你有所帮助!
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:聊聊Python对CSV文件的读取与写入问题 - Python技术站