【问题标题】:scheduler produces empty files调度程序产生空文件
【发布时间】: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)

【问题讨论】:

    标签: python-2.7 pythonanywhere


    【解决方案1】:

    您的问题是 UnicodeDecodeError - 您的电子表格中有一些非 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')
    

    http://pandas.pydata.org/pandas-docs/stable/generated/pandas.DataFrame.to_csv.html

    【讨论】:

      猜你喜欢
      • 2011-01-13
      • 1970-01-01
      • 1970-01-01
      • 2023-01-30
      • 2014-11-24
      • 2015-05-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多