Как вызвать файл CSV один за другим из папки и назначить файл переменной? - PullRequest
1 голос
/ 24 февраля 2020

У меня есть несколько файлов CSV (abcd.csv, efg.csv, fdre.csv ....) в папке. Теперь я хочу вызвать эти файлы один за другим и пройти через какую-то программу. В настоящее время я делаю что-то вроде этого:

dir = "D:\\mobile\\card\\"
c_file_name = 'abcd.csv'
c_file = open(dir + c_file_name + '.csv', 'r')

Я хочу использовать некоторые l oop или что-то, через что я могу открыть каждый файл CSV один за другим и назначить этим CSV-файлам c_file. Пожалуйста, предложите

Ответы [ 2 ]

0 голосов
/ 24 февраля 2020

Вы можете использовать glob , чтобы получить список всех CSV-файлов в каталоге, например:

import glob
for csv_path in glob.glob('D:\\mobile\\card\\**\\*.csv', recursive=True):
    print(csv_path) # D:\mobile\card\abcd.csv
    # do something with csv_path 
0 голосов
/ 24 февраля 2020

Функция os.walk позволяет перебирать файлы в папке. Следующий код адаптирован из Tutorials Point . В следующем фрагменте dirs - это список каталогов, files - это список файлов, а os.path.join(root, name) - это полное имя файла, которое вы можете использовать для доступа к файлу.

# !/usr/bin/python

import os
for root, dirs, files in os.walk("D:\\mobile\\catd\\", topdown=False):
   for name in files:
      if name.endswith('.csv')
          c_file_name = os.path.join(root, name)
          c_file = open(c_file_name, 'r')
...