部署在Heroku上的Dash应用无法读取CSV文件

时间:2019-07-25 14:18:47

标签: python-3.x plotly-dash heroku-cli

我正在尝试使用Heroku部署我的Dash应用程序,该应用程序应该从本地CSV文件读取数据。部署成功,但是如果我打开应用程序的URL,则会出现应用程序错误。

我检查了Heroku日志,发现一个FileNotFoundError告诉我该应用程序从中读取数据的CSV文件不存在,但是如果我在本地运行该应用程序,则可以使用。实际上,该CSV文件存在于我的目录中,所以我想知道是否还有另一种方法可以解决此问题。

编辑:实际上,这就是我的app.py代码的开始方式。 FileNotFoundError指向我使用pandas读取CSV文件的部分。 如何让我的应用读取CSV文件?

import dash
import dash_core_components as dcc
import dash_html_components as html
import dash_table as tablefrom

from dash.dependencies import Input, Output
import plotly as py
import plotly.graph_objs as go
import numpy as np
import pandas as pd

filepath='C:\\Users\\DELL\\Desktop\\EDUCATE\\DATA CSV\\crop_prod_estimates_GH.csv' 

data=pd.read_csv(filepath,sep=',',thousands=',')
data.dropna(inplace=True)

data[['REGION','DISTRICT','CROP']]=data[['REGION','DISTRICT','CROP']].astype('category')
data.CROP=data.CROP.str.strip()
data.drop(data.columns[0],axis=1,inplace=True)

3 个答案:

答案 0 :(得分:0)

解决了!!!!!!!!!

我将我的csv数据文件上传到我的github存储库中,并让app.py从中读取数据。例如:

  

url ='https://raw.githubusercontent.com/your_account_name/repository_name/master/file.csv'

     

df = pd.read_csv(url,sep =“,”)

     

df.head()

答案 1 :(得分:0)

您可以将csv文件存储在app.py存在的位置。

更改自:

filepath='C:\\Users\\DELL\\Desktop\\EDUCATE\\DATA CSV\\crop_prod_estimates_GH.csv' 

收件人:

filepath='crop_prod_estimates_GH.csv' 

应该可以。

答案 2 :(得分:0)

将您的csv文件上传到cloudinary:

urlfile = 'https://res.cloudinary.com/hmmpyq8rf/raw/upload/v1604671300/localisationDigixpress_n8s98k.csv'

df = pd.read_csv(urlfile,sep=",")

df.head()