【问题标题】:Loop through all CSV files in a folder循环浏览文件夹中的所有 CSV 文件
【发布时间】:2013-01-10 16:19:26
【问题描述】:

我正在尝试仅遍历包含多种文件和许多文件夹的文件夹中的 csv 文件,我只是希望它列出此文件夹中的所有 .csv 文件。

这就是我的意思:

import os, sys

path = "path/to/dir"
dirs = os.listdir(path)

for file in dirs:
    if file == '*.csv':
        print file

我知道python中没有通配符变量,但是有没有办法做到这一点?

【问题讨论】:

    标签: python


    【解决方案1】:

    使用 glob 模块:http://docs.python.org/2/library/glob.html

    import glob
    path = "path/to/dir/*.csv"
    for fname in glob.glob(path):
        print(fname)
    

    【讨论】:

      【解决方案2】:

      Python 提供了 glob 应该这样做

      >>> import glob
      >>> glob.glob('/path/to/dir/*.csv')
      

      返回与路径名匹配的可能为空的路径名列表,其中 必须是包含路径规范的字符串。路径名可以是 绝对(如 /usr/src/Python-1.5/Makefile)或相对(如 ../../Tools//.gif),并且可以包含 shell 样式的通配符。破碎的 符号链接包含在结果中(就像在 shell 中一样)。

      【讨论】:

        【解决方案3】:

        我试图遍历包含 cvs 文件的文件夹并打印列的编号和名称。 以下代码对我有用

        import pandas as pd
        import glob
        path = r"C:\Users\gumnwe\OneDrive - BP\Desktop\Personal\eiLink\Skin Project\Skin_Project_Data_2020\*.csv"
        for fname in glob.glob(path):
           df=pd.read_csv(fname)
           my_list=list(df.columns)
           print(len(my_list),my_list)
        

        【讨论】:

          猜你喜欢
          • 2010-12-20
          • 1970-01-01
          • 1970-01-01
          • 2015-12-07
          • 1970-01-01
          • 2020-09-05
          • 2012-05-09
          相关资源
          最近更新 更多