在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)
输出:
OrderedDict([(‘Organization’, ‘Alphabet’), (‘CEO’, ‘Sundar Pichai’), (‘Established’, ’02-Oct-15′)])
OrderedDict([(‘Organization’, ‘Microsoft’), (‘CEO’, ‘Satya Nadella’), (‘Established’, ’04-Apr-75′)])
OrderedDict([(‘Organization’, ‘Amazon’), (‘CEO’, ‘Jeff Bezos’), (‘Established’, ’05-Jul-94′)])
- 使用 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() 的更多信息,请单击此处。