Python 2.7 调度程序生成空文件

Python 2.7 调度程序生成空文件,python-2.7,pythonanywhere,Python 2.7,Pythonanywhere,我正在使用pythonanywhere来完成一个简单的计划任务。 我想每天从链接下载一次数据并保存csv文件。稍后,一旦我有了一个像样的时间序列,我将找出我实际上想要如何管理数据。它没有太多的数据,所以不需要像数据库这样的花哨的东西 我的脚本从GoogleSheets链接获取数据,添加日志列和时间列,然后在文件名中写入带有日期的csv 当我在PythonyWhere中手动运行它时,它的工作方式与我希望的完全一样,但是调度程序只是创建空的csv文件,尽管名称正确 你知道怎么了吗?我不明白这个日志文

我正在使用pythonanywhere来完成一个简单的计划任务。 我想每天从链接下载一次数据并保存csv文件。稍后,一旦我有了一个像样的时间序列,我将找出我实际上想要如何管理数据。它没有太多的数据,所以不需要像数据库这样的花哨的东西

我的脚本从GoogleSheets链接获取数据,添加日志列和时间列,然后在文件名中写入带有日期的csv

当我在PythonyWhere中手动运行它时,它的工作方式与我希望的完全一样,但是调度程序只是创建空的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)
回溯(最近一次呼叫最后一次):
文件“/home/abmoore/load_data.py”,第24行,在
今日写作(df)
文件“/home/abmoore/load_data.py”,第16行,今天写入
df.to_csv('Properties_'+date+'.csv'))
文件“/usr/local/lib/python2.7/dist-packages/pandas/core/frame.py”,第1344行,输入到csv
格式化程序。保存()
文件“/usr/local/lib/python2.7/dist packages/pandas/formats/format.py”,第1551行,保存
self._save()
文件“/usr/local/lib/python2.7/dist packages/pandas/formats/format.py”,第1638行,保存
self.\u保存\u头()
文件“/usr/local/lib/python2.7/dist-packages/pandas/formats/format.py”,第1634行,在保存头中
writer.writerow(编码的\u标签)
UnicodeEncodeError:“ascii”编解码器无法对位置0中的字符u'\xa3'进行编码:序号不在范围内(128)

您的问题是UnicodedeCodeer错误——您的电子表格中有一些非ascii数据,pandas
to_csv
函数默认为ascii编码。请尝试指定utf8:

def write_today(df):
    filename = 'Properties_{date}.csv'.format(date=time.strftime("%Y-%m-%d"))
    df.to_csv(filename, encoding='utf8')