Python 如何在Google App Engine上托管的脚本中使用外部静态数据文件?
我有一个托管在Google App Engine上的Python脚本来访问Twitter API并存储结果 我有一个静态csv文件(在我的本地机器上),其中包含我想从中收集数据的所有twitter帐户的名称Python 如何在Google App Engine上托管的脚本中使用外部静态数据文件?,python,google-app-engine,Python,Google App Engine,我有一个托管在Google App Engine上的Python脚本来访问Twitter API并存储结果 我有一个静态csv文件(在我的本地机器上),其中包含我想从中收集数据的所有twitter帐户的名称 如何使此文件可供托管在Google App Engine上的脚本访问?静态CSV应与任何其他python源文件一样可上载。注意,不要将其作为文件上传——这些文件通常来自不同的位置,并且您的代码无法访问它们1 要打开/读取静态CSV,您需要使用相对路径。e、 g.如果您的目录如下所示: foo
如何使此文件可供托管在Google App Engine上的脚本访问?静态CSV应与任何其他python源文件一样可上载。注意,不要将其作为文件上传——这些文件通常来自不同的位置,并且您的代码无法访问它们1 要打开/读取静态CSV,您需要使用相对路径。e、 g.如果您的目录如下所示:
foo
| - script.py
bar
| - data.csv
from google.appengine.api import urlfetch
csv_url = 'https://docs.google.com/spreadsheets/d/<key>/export?format=csv'
csv_response = urlfetch.fetch(csv_url, allow_truncated=True)
if csv_response.status_code == 200:
row_list = csv_response.content.split('\n')
for row in row_list:
item_list = row.split(',')
do stuff
然后要从script.py
读取data.csv
,您可以执行以下操作:
import os
data_csv_filename = os.path.join(
os.path.dirname(__file__), 'bar', 'data.csv')
with open(data_csv_filename) as data_csv_file:
...
1如果您真的想提供csv文件并让您的应用程序读取数据,您也可以在
app.yaml
中将其设置为“应用程序可读”…如果您不想处理每次更改csv文件时上传代码带来的不便,您可以将其作为谷歌表单进行维护,每个单元格一个值。将其发布到web。然后,像这样将其读入你的应用程序:
foo
| - script.py
bar
| - data.csv
from google.appengine.api import urlfetch
csv_url = 'https://docs.google.com/spreadsheets/d/<key>/export?format=csv'
csv_response = urlfetch.fetch(csv_url, allow_truncated=True)
if csv_response.status_code == 200:
row_list = csv_response.content.split('\n')
for row in row_list:
item_list = row.split(',')
do stuff
从google.appengine.api导入urlfetch
csv_url=https://docs.google.com/spreadsheets/d//export?format=csv'
csv\u response=urlfetch.fetch(csv\u url,allow\u truncated=True)
如果csv_response.status_code==200:
行\u列表=csv\u响应.content.split(“\n”)
对于行列表中的行:
项目列表=行分割(','))
做事