Условное чтение файла в python - PullRequest
0 голосов
/ 03 мая 2020

Предположим, что существует коллекция файлов CSV, т.е. A.csv, B.csv, C .csv ……… Z.csv

'A.csv'
'B.csv'
'C.csv'
'D.csv'
....
'X.csv'
'Y.csv'
'Z.csv' 

Если создан список гласных и согласных т.е. A.csv, E.csv, I.csv, O.csv, U.csv перечислены в списке как гласные следующим образом:

VOWELS = ['A.csv','E.csv','I.csv','O.csv','U.csv'] 

, а файлы читаются как:

file_path = r"C:\Users\Desktop\Data"
read_files = glob.glob(file_path,"*.csv") 

в то время как другие перечислены в списке, называемом согласными, как мы можем импортировать файлы, перечисленные в списке гласных, из основного каталога? Я использую следующий код, но нет вывода и даже ошибки. Что могло быть не так?

for i in range(len(VOWELS)):
        #print (VOWELS[i])
    for file in read_files:
        if fnmatch.fnmatch(file, VOWELS[i]):
            print(file)

Ответы [ 2 ]

0 голосов
/ 03 мая 2020

Попробуйте это

import glob

VOWELS = ["A.csv", "E.csv", "I.csv", "O.csv", "U.csv"]


file_path = r"C:\Users\Desktop\Data\%s"


for lookup_file in glob.glob(file_path % "*.csv"):
    if lookup_file.rsplit("\\", 1)[1] in VOWELS:
        print(i)
0 голосов
/ 03 мая 2020

Примерно так будет работать. Окончание файла будет в вашем списке гласных.

import glob

file_path = r"C://test//"
read_files = glob.glob(file_path + "*.csv")

VOWELS = ['A.csv','E.csv','I.csv','O.csv','U.csv']

for file in read_files:
    for vowel in VOWELS:
        if file.endswith(vowel):
             print(file)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...