Форум сайта python.su
Коллеги, добрый день, не смог нагуглить свою проблему, поэтому обращаюсь к вам.
Суть проблемы:
Ко мне регулярно приходят с десяток csv файлов с названиями типа П1(436534).csv, П2(422).csv, П3(81873).csv и т.д.
Мне их нужно загружать в датафреймы для своих дальнейших дел с помощью например:
data1 = pd.read_csv ('П1.csv', sep=';').
Проблема в том что цифры в скобках в названиях файлов каждый раз разные и мне приходится вручную переименовывать эти файлы сокращая их до П1, П2, П3 перед загрузкой.
Вопрос:
Можно ли как то добавить маску к названию файла чтобы считывалось только П1, П2, П3 в названии файла, а остальное, скобки и цифры, игнорировались? Что то типа data1 = pd.read_csv ('П1*.csv', sep=';')
Спасибо.
Офлайн
mskliveКуда приходят? Обычно имена файлов берутся из списка имён. И потом каждое такое имя присваивается переменной и переменная передаётся в функцию, которая принимает имя файла.
Ко мне регулярно приходят с десяток csv файлов с названиями типа П1(436534).csv, П2(422).csv, П3(81873).csv и т.д.
ifname = 'П1(436534).csv' data = pd.read_csv(ifname, sep=';')
mskliveДа можно много чего делать, но не нужно этого делать.
Можно ли как то добавить маску к названию файла
Отредактировано py.user.next (Июнь 17, 2022 14:36:55)
Офлайн
py.user.nextНа данный момент я их сам закачиваю в директорию в JupiterHub, не знаю как это правильно называется, делаю Upload и они появляются у меня в папке. Предполагается что следующим этапом файлы будут размещаться на каком-нибудь FTP к примеру и по этому событию они будут закачиваться в датафрэймы.
Онлайн
Офлайн
Вас правильно понялhttps://www.geeksforgeeks.org/python-os-listdir-method/
Отредактировано AD0DE412 (Июнь 17, 2022 15:08:25)
Офлайн
mskliveЕсли код
На данный момент я их сам закачиваю в директорию в JupiterHub, не знаю как это правильно называется, делаю Upload и они появляются у меня в папке.
pd.read_csv('П1(436534).csv', sep=';')
import os for fname in os.listdir(): if fname.endswith('.csv'): print('Processing', fname) ifname = fname data = pd.read_csv(ifname, sep=';') ...
Отредактировано py.user.next (Июнь 17, 2022 16:28:33)
Офлайн