如何在Python中读取CSV文件?
CSV文件代表逗号分隔值文件。它是一个纯文本文件,其中数据值由逗号分隔,因此利用逗号代表表格数据的形式,形成纯文本。 CSV文件具有 .csv扩展名。
这是CSV文件的样子-
Sr.No,Name,City,Age
1,Rahul,Kolkata,21
2,Karan,Amritsar,23
3,Priya,Bangalore,20
要创建CSV文件,您可以在记事本中以上述格式编写文件,并将其保存为.csv扩展名即可。
阅读更多:Python 教程
在Python中读取CSV文件
存储在系统本地存储器上的csv文件可以利用Python读取。
我们需要在Python中导入csv模块。然后我们需要以读取模式打开文件,因为我们需要从文件中读取数据。 csv.reader()函数用于从CSV文件中读取数据。 csv.reader()返回一个可迭代的读取器对象。我们需要遍历返回的可迭代读取器对象以处理csv文件的内容。
实现方法
让我们假设我们在本地系统上有一个名为“ttp.csv”的csv文件。 文件的内容在上面的例子中显示。我们需要读取此文件的内容,并逐行打印文件的内容。
例子
import csv
with open('ttp.csv','r')as file:
filecontent=csv.reader(file)
for row in filecontent:
print(row)
注意: 确保csv文件和Python程序位于系统中的相同位置,即同一文件夹中。
输出
['Sr.No', 'Name', 'City', 'Age']
['1', 'Rahul', 'Kolkata', '21']
['2', 'Karan', 'Amritsar', '23']
['3', 'Priya', 'Bangalore', '20']
逐行解释
- import csv − 必须导入csv模块才能使用此模块中包含的函数来读取文件。
-
使用open()打开文件。 open()接受两个参数,即文件名和您要打开它的模式。这里模式是’r’,因为我们需要读取文件。
-
使用csv.reader()读取文件的内容。这返回一个可迭代读取器对象,该对象返回一个变量。
-
遍历文件内容以逐行打印文件内容。
csv文件和读取它的Python程序必须位于相同位置。
在本地系统中,csv文件和Python程序必须位于相同位置或同一文件夹中。如果文件不在某个不同的位置,则会引发异常并给出以下输出。
Traceback (most recent call last):
with open('ttp.csv','r')as file:
FileNotFoundError: [Errno 2] No such file or directory: 'ttp.csv'
使用自定义分隔符读取CSV文件
逗号不是csv文件中要使用的唯一分隔符。其他使用的分隔符有:,; |等。如果不使用逗号而使用其他分隔符,则需要相应修改代码。
实施方法
在上面的csv文件中,使用分隔符为“:”而不是逗号。因此,代码将被修改如下–
例子
import csv
with open('ttp.csv','r')as file:
filecontent=csv.reader(file,delimiter=':')
for row in filecontent:
print(row)
输出
['Sr', 'No', 'Name', 'City', 'Age']
['1', 'Rahul', 'Kolkata', '21']
['2', 'Karan', 'Amritsar', '23']
['3', 'Priya', 'Bangalore', '20']
在代码中,唯一的修改是在csv.reader()中指定csv文件中使用的分隔符。如果使用的分隔符是“|”,则需要在代码中指定此分隔符。
如果没有指定,代码默认将逗号作为分隔符。因为该文件中不存在逗号,所以整行将被视为单个项目。
如果在上面的代码中没有指定以上文件使用冒号分隔符,它会产生以下错误输出。
['Sr:No:Name:City:Age']
['1:Rahul:Kolkata:21']
['2:Karan:Amritsar:23']
['3:Priya:Bangalore:20']
如上所述,整行被视为单个项目。