小编etc*_*etc的帖子

如何使用AppEngine和Datastore生成大文件(PDF和CSV)?

当我第一次开始开发这个项目时,没有要求生成大文件,但它现在是可交付的.

简而言之,GAE对于任何大规模数据处理或内容生成都不是很好.除了缺少文件存储之外,甚至像使用带有1500条记录的ReportLab生成pdf这样简单的事情似乎遇到了DeadlineExceededError.这只是一个由表组成的简单pdf.

我使用以下代码:

    self.response.headers['Content-Type'] = 'application/pdf'
    self.response.headers['Content-Disposition'] = 'attachment; filename=output.pdf'
    doc = SimpleDocTemplate(self.response.out, pagesize=landscape(letter))

    elements = []

    dataset = Voter.all().order('addr_str')

    data = [['#', 'STREET', 'UNIT', 'PROFILE', 'PHONE', 'NAME', 'REPLY', 'YS', 'VOL', 'NOTES', 'MAIN ISSUE']]

    i = 0
    r = 1
    s = 100

    while ( i < 1500 ):
        voters = dataset.fetch(s, offset=i)
        for voter in voters:
            data.append([voter.addr_num, voter.addr_str, voter.addr_unit_num, '', voter.phone, voter.firstname+' '+voter.middlename+' '+voter.lastname ])
            r = r + 1
        i = i + s

    t=Table(data, '', r*[0.4*inch], repeatRows=1 …
Run Code Online (Sandbox Code Playgroud)

google-app-engine google-cloud-datastore

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

Google App Engine - 获取超过1000条标准的记录数

我已经在多个位置读过GAE提高了查询和计数的1000记录限制,但是,我似乎只能得到高达1000的记录数.我不会一次提取超过1000个查询,但要求是我需要计算匹配的记录.

我知道你可以使用游标通过数据集"分页",但循环只是为了获得计数似乎有点多.大概是当他们说他们"解除"限制时,这是一个硬限制 - 你仍然需要一次循环1000个结果,我是否正确?

我应该使用除.all()/ filter方法之外的方法来生成1000+计数吗?

在此先感谢您的帮助!

google-app-engine google-cloud-datastore

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

获取 GROUP BY 记录子集的计数

我有一个邮件分类帐表,我正在尝试查询返回百分比。我正在执行 GROUP BY 以根据 order_no、county 和 zip_code 获取唯一记录。

SELECT, COUNT(*) as TotalMailed, COUNT(*) (WHERE Returned = 1) as ReturnedMailed, Order_No, Zip_Code,County
FROM MailLedger
GROUP BY Order_No, Zip_Code, County
Run Code Online (Sandbox Code Playgroud)

我正在获取每个记录分组的正确计数,但是我需要获取已 Returned 设置为 true 的分组记录子集的计数。

我正在运行 SQL Server,所以我确实可以使用 OVER 和 PARTITION,但是,我也很想知道在 Postgres/MySQL 中处理它的正确方法。

sql sql-server count subquery

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

使用ruby将exif gps数据数组格式转换为纬度和经度浮点数

从文件中检索exif数据时,坐标将以3个数字的数组的形式提供给您.

i.exif['gps_latitude']
=> ["6/1", "4/1", "911/50"]
Run Code Online (Sandbox Code Playgroud)

这需要转换为更常见的浮动格式以供一般使用.

ruby gps

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