📅  最后修改于: 2023-12-03 15:10:27.672000             🧑  作者: Mango
Python 中读取 CSV 文件通常要使用标准库中的 CSV 模块,但是其实还有一种更加简便的方法,就是使用 Python 内置的 open() 和 split() 函数。下面是一个例子。
def read_csv_file(file_path, delimiter=","):
"""
无需 CSV 模块即可读取 CSV 文件
"""
with open(file_path, "r") as f:
lines = f.read().strip().split("\n")
headers = lines[0].split(delimiter)
rows = []
for line in lines[1:]:
row = line.split(delimiter)
rows.append(row)
return headers, rows
调用 read_csv_file
函数时,需要传入两个参数:CSV 文件路径和 CSV 文件中列与列之间的分隔符。默认情况下分隔符是逗号,如果你的 CSV 文件使用了其他分隔符,可以在调用时指定。
headers, rows = read_csv_file("test.csv")
for row in rows:
print(row)
这个函数比较简单,我们来分析一下它的具体实现。
首先使用 open
函数打开 CSV 文件,而后读取文件的所有内容并存储为一个字符串(行与行之间用换行符分隔)。
使用 strip
函数去掉字符串的首尾空白符。
使用 split
函数将字符串按行分割成一个列表,并存储到变量 lines
中。
将第一行即标题行按照列与列之间的分隔符拆分成一个列表,存储到变量 headers
中。
从第二行开始,遍历每一行,在每一行内按照列与列之间的分隔符将行数据拆分成一个列表,存储到变量 rows
中。
最后返回变量 headers
和 rows
。
值得注意的是,如果你的 CSV 文件中包含逗号、引号等特殊符号,还需要加上对应的转义处理,这里就不再细讲了。