如何在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中读取CSV文件

可以在Python的帮助下读取存储在系统本地存储中的csv文件。

我们需要在Python中导入csv模块。然后,我们需要以读取模式打开文件,因为我们需要从文件中读取数据。该功能用于从CSV文件读取数据。将返回一个可迭代的读者对象。我们需要迭代返回的可迭代阅读器对象,以处理csv文件的内容。csv.reader()csv.reader()

执行

让我们在本地系统上存储一个名为“ 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-为了使用此模块中包含的功能来读取文件,需要在Python中导入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文件中使用的定界符。如果使用的定界符为“ |”,则需要在代码中将其指定为定界符。csv.reader()

如果未指定,默认情况下,代码将仅将逗号视为定界符,并且由于文件中不存在逗号,因此整行将被视为单个项。

如果在上面的代码中未使用':'分隔符在上述代码中指定分隔符,则将产生以下输出错误。

['Sr:No:Name:City:Age']
['1:Rahul:Kolkata:21']
['2:Karan:Amritsar:23']
['3:Priya:Bangalore:20']

与上面的输出一样,整行都被视为单个项目。