📜  将 CSV 读入Python中的列表列表(1)

📅  最后修改于: 2023-12-03 14:53:43.078000             🧑  作者: Mango

将 CSV 读入Python中的列表列表

CSV即Comma-Separated Values,是一种常见的文件格式,可以将数据以文本形式存储在文件中。许多数据分析和机器学习任务中都需要使用CSV文件格式。

Python中有许多库可以用来读取CSV文件,包括csvpandas等。其中,使用csv库读取CSV文件并将其转换为列表列表是一种常见的方法。

csv库的使用方法

csv库是Python自带的标准库,使用方法如下:

先通过open()函数打开CSV文件,将其读取为文件对象。然后,使用csv.reader()方法将文件对象转换为一个CSV读取器对象,最后使用list()方法将读取器对象转换为列表列表。

import csv

with open('data.csv', newline='') as csvfile:
    data = list(csv.reader(csvfile))

print(data)

这里打开了名为data.csv的CSV文件,并将其读取为文件对象。newline=''参数是必须的,在Windows系统上可避免读取CSV文件时出现多余的空行。

csv.reader()方法会自动解析CSV文件中的每一行,并将每一行转换为一个列表,最终返回一个CSV读取器对象。这里调用了list()方法,将CSV读取器对象转换为了一个列表列表,即将CSV文件中的数据以列表的形式存储在了data变量中。

示例数据

我们可以使用以下数据作为示例:

name,age,gender
Alice,23,Female
Bob,32,Male
Charlie,45,Male
输出结果

以上面数据作为示例,运行上述代码后,将会输出以下结果:

[['name', 'age', 'gender'], ['Alice', '23', 'Female'], ['Bob', '32', 'Male'], ['Charlie', '45', 'Male']]

这个结果中包含了CSV文件中的所有行和列,每一行都是一个列表,列表中的元素对应CSV文件中的每个值。

注意事项
  • 读取CSV文件时通常需要指定一些参数,例如文件路径、文件编码、分隔符等。
  • 使用csv.reader()方法读取CSV文件时,每一行的数据都会以字符串形式被读取。需要根据需要进行类型转换。
  • 如果CSV文件中包含了表头,在转换为列表列表时需要将其单独处理。通常可以通过next()函数跳过表头。
  • 如果CSV文件中包含了空行,在读取时需要特别注意。有些情况下,读取器对象会自动跳过空行;在某些情况下,读取器对象会将空行解析为包含一个空字符串的列表。必要时需要手动去除空行。