我正在尝试使用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)
答案 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()