如何在Python中读取CSV文件?

如何在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']

如上所述,整行被视为单个项目。

Python教程

Java教程

Web教程

数据库教程

图形图像教程

大数据教程

开发工具教程

计算机教程