在处理数据的时候,经常会碰到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、最终的结果输出:

python读取当前目录下的CSV文件数据

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持。

风云阁资源网 Design By www.bgabc.com
广告合作:本站广告合作请联系QQ:858582 申请时备注:广告合作(否则不回)
免责声明:本站资源来自互联网收集,仅供用于学习和交流,请遵循相关法律法规,本站一切资源不代表本站立场,如有侵权、后门、不妥请联系本站删除!
风云阁资源网 Design By www.bgabc.com