Файл не указан в каталоге, но может быть записан и загружен оттуда с помощью Python / Pandas. Проблема окружающей среды? - PullRequest
1 голос
/ 27 февраля 2020

Python 3.6.4; Windows 10. А теперь еще и Анаконда / Python 3.7. Я полностью сбит с толку.

Этот код загружает файл и печатает первую строку файла CSV:

    import pandas as pd
    city_data = pd.read_csv("c:\\YelpData\\Data_PA.csv",usecols=range(1,11),encoding='latin-1')
    print(city_data.iloc[0])

Вывод:

user_id                       Kn_02c9-Jkpm3nakKk9mbg
business_id                   54rjpC8YuM3QN_QbFGmLAg
city                                         Belmont
postal_code                                    28012
categories      Restaurants;Italian;Sandwiches;Pizza
stars_b                                          3.5
review_count                                      51
stars                                              2
date                                      2012-06-09
useful                                             3

НО этот файл НЕ указан в этом каталоге:

C:\YelpData>dir
 Volume in drive C is Windows
 Volume Serial Number is ************

 Directory of C:\YelpData

02/26/2020  09:44 PM    <DIR>          .
02/26/2020  09:44 PM    <DIR>          ..
02/26/2020  11:27 PM             3,513 DatasetManipulation.py
02/26/2020  09:44 PM        31,409,942 yelp_business.csv
09/26/2019  10:24 AM     3,791,120,545 yelp_review.csv
02/26/2020  09:39 PM     3,791,120,547 yelp_review_mod.csv
               4 File(s)  7,613,654,547 bytes
               2 Dir(s)  87,651,495,936 bytes free

C:\YelpData>

Я думал, что создаваемый мной CSV-файл не был записан в этот каталог, но в каком-то странном измерении. Это какая-то безумная Pandas проблема окружающей среды? Я не знаком с этим языком, я просто пытался написать код для объединения двух файлов CSV. Исходя из вышеприведенного вывода, мое объединение работает - Мне просто нужен фактический физический файл CSV - чтобы я мог выполнять аналитику с другим продуктом. (Я поместил две строки кода выше в верхнюю часть моей python программы, а затем запустил ее из командной строки Windows. Поэтому он сначала загружает этот невидимый файл.)

Спасибо за любые help.

ОБНОВЛЕНИЕ

В соответствии с запросом приведен код, который создает файл csv.

filename="c:\\YelpData\\Data_PA.csv"
filex = open(filename, "w")
DataPA.to_csv(filex)

Первоначально я попробовал его таким образом. (Я только что попробовал это с новым "\\".)

DataPA.to_csv("c:\\YelpData\\Data_PA.csv")

Я также переименовал выходной файл в Data_PA1.csv в коде с изменением "\\", если оно каким-то образом использовалось старый файл в незнакомом месте / окружении.

ОБНОВЛЕНИЕ

Я почти определил, что это какая-то странная проблема среды.

  1. Я не могу записать файл csv в несуществующий каталог , (Ожидается.)
  2. Я могу записать файл csv в существующий каталог, затем удалить этот каталог и затем продолжить читать файл из удаленного каталога (программа Python может). (!!!) (Не ожидается.)
  3. Я могу добавить в каталог файл с тем же именем, с размером 0 (Data_PA.csv), и Python продолжает читать файл, предыдущий написал (куда-то) (!!!) (Не ожидается.)

ОБНОВЛЕНИЕ

Я удалил Python и установил Anaconda (включая Python). Результаты одинаковы.

1 Ответ

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

Виновником был Comodo Firewall. В какой-то момент Auto-Containment был включен. Мои затененные файлы находились в зеркальной структуре каталогов в c: / VTROOT / ... Наряду со многими другими вещами, которые я там не хочу. Я отключил автоматическое удержание. Google показывает, что многие люди сталкивались с этим.

Я знаю, когда я устанавливал Comodo более чем на 1,5 года go, я этого не устанавливал, поскольку я этого не хотел. В какой-то момент флажок был случайно установлен. Ну, теперь я знаю, как это работает.

...