📜  在Python中读取 CSV 文件

📅  最后修改于: 2022-05-13 01:55:03.891000             🧑  作者: Mango

在Python中读取 CSV 文件

CSV(逗号分隔值)文件是一种纯文本文档形式,它使用特定格式来组织表格信息。 CSV 文件格式是使用逗号来区分值的有界文本文档。文档中的每一行都是一个数据日志。每个日志由一个或多个字段组成,以逗号分隔。它是用于导入和导出电子表格和数据库的最流行的文件格式。

读取 CSV 文件

有多种方法可以读取使用 CSV 模块或 pandas 库的 CSV 文件。

  • csv 模块: CSV 模块是Python中的模块之一,它提供了用于以 CSV 文件格式读取和写入表格信息的类。
  • pandas 库: pandas 库是开源Python库之一,为Python编程提供高性能、便捷的数据结构和数据分析工具和技术。

在Python中读取 CSV 文件格式:
考虑以下名为“Giants.CSV”的 CSV 文件:

  • 使用 csv.reader():首先,在 'r' 模式下使用 open() 方法打开 CSV 文件(指定打开文件时的读取模式),返回文件对象,然后使用 reader() 读取CSV 模块的方法,它返回遍历指定 CSV 文档中的行的读取器对象。
    注意: 'with' 关键字与 open() 方法一起使用,因为它简化了异常处理并自动关闭 CSV 文件。
Python3
import csv
 
# opening the CSV file
with open('Giants.csv', mode ='r')as file:
   
  # reading the CSV file
  csvFile = csv.reader(file)
 
  # displaying the contents of the CSV file
  for lines in csvFile:
        print(lines)


Python3
import csv
 
# opening the CSV file
with open('Giants.csv', mode ='r') as file:   
        
       # reading the CSV file
       csvFile = csv.DictReader(file)
 
       # displaying the contents of the CSV file
       for lines in csvFile:
            print(lines)


Python3
import pandas
 
# reading the CSV file
csvFile = pandas.read_csv('Giants.csv')
 
# displaying the contents of the CSV file
print(csvFile)


输出:

['Organization', 'CEO', 'Established']
['Alphabet', 'Sundar Pichai', '02-Oct-15']
['Microsoft', 'Satya Nadella', '04-Apr-75']
['Amazon', 'Jeff Bezos', '05-Jul-94']

在上面的程序中, reader() 方法用于读取将数据映射到列表中的 Giants.csv 文件。

  • 使用 csv.DictReader() 类:它类似于前面的方法,首先使用 open() 方法打开 CSV 文件,然后使用 csv 模块的 DictReader 类读取它,它的工作方式类似于普通阅读器,但映射信息CSV 文件中的字典。该文件的第一行由字典键组成。

Python3

import csv
 
# opening the CSV file
with open('Giants.csv', mode ='r') as file:   
        
       # reading the CSV file
       csvFile = csv.DictReader(file)
 
       # displaying the contents of the CSV file
       for lines in csvFile:
            print(lines)

输出:

  • 使用 pandas.read_csv() 方法:使用 pandas 库函数读取 CSV 文件非常简单。这里使用 pandas 库的 read_csv() 方法从 CSV 文件中读取数据。

Python3

import pandas
 
# reading the CSV file
csvFile = pandas.read_csv('Giants.csv')
 
# displaying the contents of the CSV file
print(csvFile)

输出:

Organization            CEO Established
0   Alphabet  Sundar Pichai   02-Oct-15
1   Microsoft  Satya Nadella   04-Apr-75
2   Amazon     Jeff Bezos   05-Jul-94

在上述程序中,pandas 库的 csv_read() 方法读取 Giants.csv 文件并将其数据映射到 2D 列表中。
注意:要了解有关 pandas.csv_read() 的更多信息,请单击此处。