Панды не импортируют изменения в Excel - PullRequest
0 голосов
/ 04 июля 2018

Я работаю в проекте python / django, в котором я импортирую некоторые данные из файла Excel.

Упрощенный вид, в котором мне нужен импорт:

urls.py

re_path(r'^product_push/', sick_data_views.Products_List_upload, name='product-push')

views.py

def ID_push():
    Products.objects.all().delete()
    df = product.importDataFrameProducts()
    print(df)
    data = Products(
                        ID = str(df['ID'].tolist()).replace("'",'\"'),
    )
    data.save()

def Products_List_upload(request):
    ID_push()
    return HttpResponse(status=204)

models.py

class Products(models.Model):
    ID = models.CharField(max_length=1000000)

lists.py

class product:
    def __init__(self, excel_path = os.path.dirname(os.path.realpath(__file__))+"\\A_Products.xlsx"):
        self.__df =  self.importDataFrameExamplesList(excel_path)

    def importDataFrameExamplesList(self, excel_path):
        # Load json
        df = pd.read_excel(excel_path, keep_default_dates=False)
        return df

    def importDataFrameProducts(self):
        return self.__df

Когда я запускаю сервер, процесс импорта запускается, и я получаю правильный вывод: Представления вызывают lists.py и обновляют значения. Допустим,

ID
1
2
3

Но если я изменю файл Excel на другие значения, например:

ID
4
2
3

Если я запускаю localhost: 8000 / product_push, импорт возвращает более старые значения файла Excel (1,2,3). Мне не нужно обновлять автоматически, но когда я запускаю push-адрес, я могу получить обновленные значения. Panda хранит некоторую переменную в кеше? Потому что я могу решить эту проблему только после перезапуска сервера. Заранее спасибо.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...