【发布时间】:2017-09-17 03:48:25
【问题描述】:
我正在使用 pythonanywhere 执行一个简单的计划任务。 我想每天从一个链接下载一次数据并保存 csv 文件。稍后,一旦我有了一个不错的时间序列,我就会弄清楚我实际上想要如何管理数据。它的数据不多,所以不需要像数据库这样的花哨的东西。
我的脚本从 google 表格链接中获取数据,添加一个日志列和一个时间列,然后在文件名中写入一个带有日期的 csv。
当我在 pythonanywhere 中手动运行它时,它的工作方式完全符合我的要求,但调度程序只是创建空的 csv 文件,尽管名称正确。
有什么想法吗?我不明白日志文件。手动运行时肯定会出现错误吗?
脚本:
import pandas as pd
import time
import datetime
def write_today(df):
date = time.strftime("%Y-%m-%d")
df.to_csv('Properties_'+date+'.csv')
url = 'https://docs.google.com/spreadsheets/d/19h2GmLN-2CLgk79gVxcazxtKqS6rwW36YA-qvuzEpG4/export?format=xlsx'
df = pd.read_excel(url, header=1).rename(columns={'Unnamed: 1':'code'})
source = pd.read_excel(url).columns[0]
df['source'] = source
df['time'] = datetime.datetime.now()
write_today(df)
日志文件:
Traceback (most recent call last):
File "/home/abmoore/load_data.py", line 24, in <module>
write_today(df)
File "/home/abmoore/load_data.py", line 16, in write_today
df.to_csv('Properties_'+date+'.csv')
File "/usr/local/lib/python2.7/dist-packages/pandas/core/frame.py", line 1344, in to_csv
formatter.save()
File "/usr/local/lib/python2.7/dist-packages/pandas/formats/format.py", line 1551, in save
self._save()
File "/usr/local/lib/python2.7/dist-packages/pandas/formats/format.py", line 1638, in _save
self._save_header()
File "/usr/local/lib/python2.7/dist-packages/pandas/formats/format.py", line 1634, in _save_header
writer.writerow(encoded_labels)
UnicodeEncodeError: 'ascii' codec can't encode character u'\xa3' in position 0: ordinal not in range(128)
【问题讨论】: