Логический способ сравнить массив путей к файлам csv с массивом указанных имен проектов - PullRequest
0 голосов
/ 28 июня 2011

Я ищу логичный способ сравнить csv-список проектов пользователя с массивом путей к файлам, которые я генерирую с помощью glob.Однако это не обязательно должно происходить именно таким образом, мне просто нужно взять список проектов csv и поработать над ними.

CsvScrape = glob.glob('C:\Ryans_Copy_Test\*\*DATA.CSV')

            for scrape_items in CsvScrape:
                print scrape_items

            CsvReader = csv.reader(open(CsvBrowse, 'rb'), dialect=csv.excel)

            for reader_items in CsvReader:
                print reader_items

это не так уж и много, но я планировал создатьсписок файлов * DATA.CSV, а затем сопоставить им мой список csv-проектов .. У меня возникают проблемы, такие как то, как мне сделать правильное сравнение (убрать ли у меня глобальный список информации о пути к файлу, затем сравнить элементыи т. д.) как сообщить пользователю, что имя проекта, которое они ввели, не найдено, и т. д.предметы просто дайте мне знать.

Спасибо.

Ответы [ 2 ]

1 голос
/ 29 июня 2011

Если glob возвращает полные пути:

scrape_items = map(os.path.basename, scrape_items)

Ваш reader_items, вероятно, будет списком списка:

reader_items = [row[0] for row in reader_items]

Используйте наборы, чтобы найти то, чего там нет:

not_in_csv = set(reader_items).difference(scrape_items)

0 голосов
/ 29 июня 2011

Насколько близко будет имя проекта к имени файла csv?Вам нужно регулярное выражение для выполнения этой работы, или это будет просто PROJECT_NAMEDATA.CSV?Потому что в этом случае вы бы просто говорили о:

if os.path.basename(scrape_items)[:-8] == reader_items: 
    pass
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...