小编cms*_*mgr的帖子

使用pandas.to_datetime进行转换时指定日期格式

我在csv文件中有数据,日期存储为标准英国格式的字符串 - %d/%m/%Y- 意味着它们看起来像:

12/01/2012
30/01/2012
Run Code Online (Sandbox Code Playgroud)

上述示例代表2012年1月12日和2012年1月30日.

当我使用pandas版本0.11.0导入此数据时,我应用了以下转换:

import pandas as pd
...
cpts.Date = cpts.Date.apply(pd.to_datetime)
Run Code Online (Sandbox Code Playgroud)

但它不一致地转换日期.要使用我现有的示例,12/01/2012将转换为代表2012年12月1日但2012年1月30日转换为2012年1月30日的日期时间对象,这正是我想要的.

看了这个问题之后我试了一下:

cpts.Date = cpts.Date.apply(pd.to_datetime, format='%d/%m/%Y')
Run Code Online (Sandbox Code Playgroud)

但结果完全一样.该源代码表明我正在做正确的事情,所以我无所适从.有谁知道我做错了什么?

python datetime pandas

21
推荐指数
2
解决办法
6万
查看次数

使用带有代理的commercialhaskell/stack

我正在尝试在公司代理后面使用堆栈.发出stack new命令返回:

InvalidProxyEnvironmentVariable "http_proxy" "http://username:password@host:port/"
Run Code Online (Sandbox Code Playgroud)

我有http_proxy,https_proxyftp_proxy在我的定义中.bashrc,以及它们在所有大写中的等价物(例如HTTP_PROXY).删除或更改这些将破坏别处的东西.

堆栈仓库似乎还没有记录代理行为,这是可以理解的,因为它最近才发布.有没有人知道目前是否可以在代理后面使用堆栈?如果是这样,怎么样?

haskell haskell-stack

11
推荐指数
1
解决办法
1927
查看次数

使用python在postgres中复制(来自)带有heades的csv

我正在尝试用python脚本中的CSV文件填充表格.

随后的SQL语句运行时没有错误:

COPY registro
FROM '/home/pablo/Escritorio/puntos/20140227.csv'
DELIMITER ','
CSV header;
Run Code Online (Sandbox Code Playgroud)

CSV具有标题,并使用header参数,导入时没有错误.

当我从我的python脚本执行它时,问题出现了.我发现不尝试导入标题的唯一方法是使用copy_expert()方法.我没有收到任何错误消息,但是在我运行下面的Python脚本后,表仍然是空的.

任何可能的线索?或者也许用其他任何方式从带有标题的CSV复制表格?

谢谢.

#/usr/bin/env python
# -*- coding: utf-8 -*-
import psycopg2
import os
import glob
DSN = "dbname=gps user=postgres host=localhost"
con = psycopg2.connect(DSN)
cur = con.cursor()
my_file = open('/home/pablo/Escritorio/puntos/20140227.csv')
#This is only a test file, not all the directory
sql = "COPY registro FROM stdin DELIMITER \',\' CSV header;"
cur.copy_expert(sql, my_file)
cur.close()
con.close()
Run Code Online (Sandbox Code Playgroud)

python sql csv postgresql psycopg2

6
推荐指数
2
解决办法
1万
查看次数

Django grappelli似乎无法看到它的所有媒体文件

我在Ubuntu服务器上运行django 1.4和grappelli 2.4.3,我在生产时通过Windows网络系统查看.当我使用RDP在Ubuntu机器上查看它时,在开发服务器上一切正常.

settings.py的相关部分是:

STATIC_ROOT = os.path.join(os.path.dirname(__file__), '../03_static_files/collected/')
STATIC_URL = '/static/'
STATICFILES_DIRS = (
    # Put strings here, like "/home/html/static" or "C:/www/django/static".
    # Always use forward slashes, even on Windows.
    # Don't forget to use absolute paths, not relative paths.
    os.path.join(os.path.dirname(__file__), '../03_static_files/'),
    os.path.join(os.path.dirname(__file__), '../03_static_files/admin/'),
    os.path.join(os.path.dirname(__file__), '../03_static_files/filebrowser/'),
    os.path.join(os.path.dirname(__file__), '../03_static_files/grappelli/'),
)
STATICFILES_FINDERS = (
    'django.contrib.staticfiles.finders.FileSystemFinder',
    'django.contrib.staticfiles.finders.AppDirectoriesFinder',
#    'django.contrib.staticfiles.finders.DefaultStorageFinder',
)

INSTALLED_APPS = (
    'django.contrib.auth',
    'django.contrib.contenttypes',
    'django.contrib.sessions',
    'django.contrib.sites',
    'django.contrib.messages',
    'django.contrib.staticfiles',

    # apps I added but didn't create
    'south',
    'grappelli',
    'filebrowser',
    'tinymce',
    'haystack',
    'gunicorn',
    'debug_toolbar', …
Run Code Online (Sandbox Code Playgroud)

django nginx django-grappelli gunicorn

5
推荐指数
1
解决办法
2063
查看次数

Django 1.7 ImageField 表单验证

我正在使用 Django 1.7 和 Python 3.4 编写单元测试。当file_data元素被注释掉时,下面的表单验证正常。随着file_data包括它不验证和测试失败。

from django.core.files.uploadedfile import SimpleUploadedFile
...

data = {
    'phone_number': '123456',
    'job': Job.objects.latest('id').pk,
}
file_data = {
    'portrait': SimpleUploadedFile(
        content=b'',
        content_type='image/jpeg',
        name='test.jpg',
    )
}
form = PersonForm(data, file_data)
self.assertTrue(form.is_valid())
Run Code Online (Sandbox Code Playgroud)

类似的代码适用FileField于我网站其他地方的上传测试。在 shell 中运行代码我得到以下内容form.errors'Upload a valid image. The file you uploaded was either not an image or a corrupted image.'因此,我认为问题出在contentcontent_type字段中。我试过在这个答案中使用 image-as-a-string无济于事。[编辑:图像作为字符串的方法实际上是答案,但我一定是实施得很糟糕。接受的答案已验证有效。]我在SimpleUloadedFile 源代码中找不到任何线索。

该表单在现实中运行良好,但我想确保它包含在未来维护的工作测试中。理想情况下,我想避免必须存在实际test.jpg文件,因为图像在我的.gitignore …

forms django validation django-tests django-1.7

4
推荐指数
1
解决办法
1341
查看次数

强制 django UpdateView 创建一个新对象

我有一个模型,该模型将在其整个生命周期内进行更新。我希望每次更新都基于旧对象返回一个新对象,而不是更新原始对象。这是为了向用户提供先前的对象作为参考,同时确保他们不会覆盖它。我尝试使用相同的表单,这个问题建议它可能会实现我想要的,但它没有(它更新了)。然后我尝试重写 save 方法以指向我的 CreateView,如下面的代码所示,但这告诉我它需要一个 CreateView 实例作为其第一个参数。有没有办法获得我想要的行为?

class TriageUpdateView(PermissionRequiredMixin, UpdateView):
    model = Triage
    form_class = TriageForm
    login_url = "/login/"
    permission_required = "myapp.add_triage"

    def form_valid(self, form):
        obj = form.save(commit = False)
        obj.completed_by = self.request.user.person
        return TriageCreateView.form_valid(self, form)
Run Code Online (Sandbox Code Playgroud)

django

3
推荐指数
1
解决办法
1340
查看次数

timezone.now().date 是函数还是可调用的?

我正在 Django 1.5 中编写一个管理器。我想返回一个QuerySet包含具有今天或将来开始日期的对象。根据对上一个问题的回答,我认为我的经理需要使用可调用而不是函数。我写过:

...
return super(UpcomingEventManager, self).get_query_set().filter(date__gte=timezone.now().date)
Run Code Online (Sandbox Code Playgroud)

我把那段代码读成一个可调用的 ( date),timezone.now()它的值依赖于一个函数 ( )。但是 Django 会将其视为可调用的还是函数?

我知道我可以通过创建一个对象并等到明天来测试这一点,但我宁愿完全理解这一点。

django function callback django-managers

3
推荐指数
2
解决办法
7672
查看次数

Django 1.5为pk> 999提供404s

我正在尝试做的事情 我有一个简单的视图,它将pk作为参数并执行操作.这个工作正常,直到pks大于999.现在他们返回404s.我正在努力解决这个问题.

我尝试过的内容 我的观点如下:

def request_publication(request, pk):
    ...
    article = News.all_news.get(pk=pk) # all_news is a manager including unpublished articles
    article.status = article.HIDDEN_STATUS
    article.save()
    ...
Run Code Online (Sandbox Code Playgroud)

网址正则表达式是这样的:

regex=r'^request-publication/(?P<pk>\d+)/',
Run Code Online (Sandbox Code Playgroud)

我也尝试过:

regex=r'^request-publication/(?P<pk>\d{4})/',
Run Code Online (Sandbox Code Playgroud)

这使得它在pks <1000时失败,但仍不适用于pk> 999.

完整的urls.py是:

# core Django imports
from django.conf.urls import patterns, include, url

# local imports
from .models import News, Category, Attachment
from .views import (
    NewsHomeView,
    CategoryHomeView,
    NewsDetailView,
    NewsYearArchiveView,
    NewsMonthArchiveView,
    NewsDayArchiveView,
    NewsListView,
    NewsCreateView,
    NewsUpdateView,
    publish,
    request_publication,
)

urlpatterns = patterns('',
    url(
        regex = r'^$',
        view = NewsHomeView.as_view(),
        name …
Run Code Online (Sandbox Code Playgroud)

python django

3
推荐指数
1
解决办法
57
查看次数

为什么count(*)在这个子查询(postgresql)中返回多个结果?

我想将count(*)查询的结果分组到值桶中.我正在dellstore2 postgresql示例数据库上测试它.我的查询返回正确的答案,但对表中的每一行都做了一次(几千个相同的结果).我可以通过添加LIMIT 1查询的结尾来解决这个问题,但我想了解为什么我会得到重复项,以防它指向我的方法更广泛的问题.查询是:

SELECT
    (SELECT count(*)
        FROM
            orders
        WHERE
            totalamount > 0 AND totalamount <= 100) AS ">0 <= 100",
    (SELECT count(*)
        FROM
            orders
        WHERE
            totalamount > 100 AND totalamount <= 200) AS ">100 <= 200"
...
FROM
    orders;
Run Code Online (Sandbox Code Playgroud)

编辑Andomar的回答也让我找到了以下方法(简而言之,改编自SQL中的一个例子(O'Reilly)).这让我可以将桶放在一列中,每个桶/答案配对都有一行.我以为我会把它包含在任何有这个用例的人中:

SELECT CASE
        WHEN totalamount IS NULL THEN 'Unknown'
        WHEN totalamount <= 100 THEN 'Not more than 100'
        WHEN totalamount <= 200 THEN 'Not more than 200'
        ELSE 'Over 200'
    END "Bucket",
    COUNT(*) "Number of results"
FROM
    orders
GROUP …
Run Code Online (Sandbox Code Playgroud)

sql postgresql postgresql-9.1

1
推荐指数
1
解决办法
1633
查看次数

在 django 模型中使用默认日期的正确方法

我有两个模型,两个模型都有一个默认为当前日期的日期字段,无论是什么。今天,有人指出他们收到其中一个错误,该错误将日期设置为 12 月 19 日,而不是 12 月 23 日(今天撰写本文时)。

我原以为这两个字段的设置相同,所以我检查了两者之间是否存在意外差异,并发现了一个差异。但我很惊讶,因为“工作”的那个在我看来似乎包含一个错误。这些字段设置如下:

# Working field
date_stamp = models.DateField(default=datetime.date.today)

# Broken field
date_statp = models.DateField(default=datetime.date.today())
Run Code Online (Sandbox Code Playgroud)

我一直认为today需要调用该函数以确保该值不被缓存。事实恰恰相反吗?有人可以解释这两者在模型实例创建时实际上是如何解释的吗?

python django date

1
推荐指数
1
解决办法
402
查看次数

Haskell-vim现在如何用unicode字符替换某些表达式?

我正在使用优秀的haskell-vim-now软件包来增强Ubuntu上的gvim.这很好,可以自定义,但我想尝试.vimrc从头开始构建我自己的,以便更好地使用编辑器的更高级功能.我正在努力复制haskell-vim-now的一个功能,即使在阅读了haskell-vim-now之后.vimrc.

它用unicode字符替换某些表达式,以更加数学方式显示代码.例如,可以在haskell中定义lambda表达式\.这将在编辑器中显示为?.要清楚基础文本仍然是\,只有编辑器内显示被更改.有谁知道如何实现这种效果?

unicode vim haskell

1
推荐指数
1
解决办法
588
查看次数