从文件路径创建逗号分隔值文件

时间:2015-04-02 03:19:24

标签: python csv

我使用python创建CSV(逗号分隔值)文件。它包含路径和文件夹中的所有文件。将文件放在不同的文件夹中,用逗号分隔,然后用不带字符的文件夹编号。例如,我有一个存储在文件夹1.pgm中的图像s14。然后CSV格式看起来像

at/s14/1.pgm;14

其中,at/s14/1.pgm是文件1.pgm的完整路径,14是从其文件夹s14获取的编号(称为标签)。你能帮我实现python吗?我尝试使用该代码,但它不适用于我的任务

1 个答案:

答案 0 :(得分:1)

试试这个:

import os
import re
import sys



SEPARATOR = ';'
CSV_FILE_PATH = 'output.csv'



if __name__ == "__main__":
    if len(sys.argv) != 2:
        print "usage: create_csv <base_path>"
        sys.exit(1)

    path = sys.argv[1]

    # only folders in specified folder
    folders = filter(os.path.isdir, os.listdir(path))

    with open(CSV_FILE_PATH, 'w') as csv_file:
        for folder in folders:
            # folder path
            folder_path = os.path.join(path, folder)

            # extracting number
            match = re.match(r's(\d+)', folder) # s\d+ is the pattern of your folder name, for example s20
            if match is not None:
                number = match.group(1)

                # loop for files within the folder
                for filename in os.listdir(folder_path):
                    # full file path
                    filepath = os.path.join(folder_path, filename)

                    # writing result
                    line = SEPARATOR.join((filepath, number))
                    csv_file.write(line + '\n')
相关问题