(编辑:jimmy 日期: 2024/11/12 浏览:2)
在处理数据的时候,经常会碰到CSV类型的文件,下面将介绍如何读取当前目录下的CSV文件,步骤如下
1、获取当前目录所有的CSV文件名称:
#创建一个空列表,存储当前目录下的CSV文件全称 file_name = [] #获取当前目录下的CSV文件名 def name(): #将当前目录下的所有文件名称读取进来 a = os.listdir() for j in a: #判断是否为CSV文件,如果是则存储到列表中 if os.path.splitext(j)[1] == '.csv': file_name.append(j)
2、将CSV文件读取进来:
#将CSV文件内容导入到csv_storage列表中 def csv_new(storage,name): #创建一个空列表,用于存储CSV文件数据 csv_storage = [] with codecs.open(storage, 'r', encoding='utf-8') as fp: fp_key = csv.reader(fp) for csv_key in fp_key: csv_reader = csv.DictReader(fp, fieldnames=csv_key) for row in csv_reader: csv_dict = dict(row) csv_storage.append(csv_dict)
3、连续读取多个CSV文件:
设置一个for循环,将第一部分读取到的文件名称逐个传递给读取文件的函数,全部代码如下所示:
import codecs import csv import os #创建一个空列表,存储当前目录下的CSV文件全称 file_name = [] #获取当前目录下的CSV文件名 def name(): #将当前目录下的所有文件名称读取进来 a = os.listdir() for j in a: #判断是否为CSV文件,如果是则存储到列表中 if os.path.splitext(j)[1] == '.csv': file_name.append(j) #将CSV文件内容导入到csv_storage列表中 def csv_new(storage): #创建一个空列表,用于存储CSV文件数据 csv_storage = [] with codecs.open(storage, 'r', encoding='utf-8') as fp: fp_key = csv.reader(fp) for csv_key in fp_key: csv_reader = csv.DictReader(fp, fieldnames=csv_key) for row in csv_reader: csv_dict = dict(row) csv_storage.append(csv_dict) for i in csv_storage: print(i) #主要运行函数 if __name__ == '__main__': #运行获取当前目录下所有的CSV文件 name() #将多个CSV文件逐个读取 for name in file_name: csv_new(name) print(file_name)
4、最终的结果输出:
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。