小编dre*_*mac的帖子

使用 xlrd 打开 BytesIO (xlsx)

我正在使用 Django,需要读取上传的 xlsx 文件的工作表和单元格。使用 xlrd 应该是可能的,但是因为文件必须保留在内存中并且可能无法保存到某个位置,所以我不确定如何继续。

在这种情况下,起点是一个带有上传输入和提交按钮的网页。提交后,文件被捕获request.FILES['xlsx_file'].file并发送到处理类,该处理类必须提取所有重要数据以进行进一步处理。

的类型request.FILES['xlsx_file'].file是 BytesIO 并且 xlrd 由于没有 getitem 方法而无法读取该类型。

将 BytesIO 转换为 StringIO 后,错误消息似乎保持不变 '_io.StringIO' object has no attribute '__getitem__'

    file_enc = chardet.detect(xlsx_file.read(8))['encoding']
    xlsx_file.seek(0)

    sio = io.StringIO(xlsx_file.read().decode(encoding=file_enc, errors='replace'))
    workbook = xlrd.open_workbook(file_contents=sio)
Run Code Online (Sandbox Code Playgroud)

python xlrd bytesio

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

如何将标量树枝过滤器映射到数组

我有一个简单的花车阵列.我需要将其显示为逗号分隔的字符串.

{{ arr|join(', ') }}
Run Code Online (Sandbox Code Playgroud)

因为精度过高而不好解决.

{% for val in arr %}
    {{val|number_format(2)}},
{% endfor %}
Run Code Online (Sandbox Code Playgroud)

因为最后额外的逗号是坏事.

我想做这样的事情:

{{ arr|map(number_format(3))|join(', ') }}
Run Code Online (Sandbox Code Playgroud)

但我没有找到过滤器map或类似的过滤器Twig.Аnd我不知道如何实现这样的过滤器.

higher-order-functions twig twig-filter

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

Cerberus依赖如何引用文档中较高的字段?

我正在尝试为具有引用文档中较高位置的依赖项的文档创建模式.例如:

document = {
    'packages': {
        'some-package': {'version': 1}
    },
    'build-steps': {
        'needs-some-package': {'foo': 'bar'},
        'other-thing': {'funky': 'stuff'}
    }
}
Run Code Online (Sandbox Code Playgroud)

我在这里苦苦挣扎的是强制build-steps.needs-some-package和packages.some-package之间的依赖关系.每当构建步骤包含"needs-some-package"时,包必须包含"some-package".

当"need-some-package"不存在时,不需要"some-package".所以这份文件也应该验证.

other_document = {
    'packages': {
        'other-package': {'version': 1}
    },
    'build-steps': {
        'other-thing': {'funky': 'stuff'}
    }
}
Run Code Online (Sandbox Code Playgroud)

具有依赖关系的模式似乎是合适的位置

schema = {
    'packages': {
        'type': 'dict',
        'valueschema': {
            'type': 'dict'
        }
    },
    'build-steps': {
        'type': 'dict',
        'schema': {
            'needs-some-package': {
                'type': 'dict',
                'dependencies': 'packages.some-package'
            },
            'other-thing': {
                'type': 'dict'
            }
        }
    }
}
Run Code Online (Sandbox Code Playgroud)

但这不起作用,因为似乎Cerberus正在"构建步骤"下的子文档中寻找"包".有没有办法上升文档树?或者引用一些关于文档根目录的内容?

python validation cerberus

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

Azure 逻辑应用当前时间

我有一个 Azure 逻辑应用程序,每小时从网站获取一个文件并在 OneDrive 中创建一个文件。由于该文件没有动态名称,因此每次都会被替换。有没有办法将当前日期时间放在文件名中?

谢谢你,大卫

azure azure-logic-apps workflow-definition-language

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

将JSON数据存储为Azure表存储中的列

如何格式化我的json数据和/或更改我的功能,以便将其存储为Azure表存储中的列?

我正在向IoT中心发送一个json字符串:

{"ts":"2017-03-31T02:14:36.426Z","timeToConnect":"78","batLevel":"83.52","vbat":"3.94"}
Run Code Online (Sandbox Code Playgroud)

我运行示例函数(在Azure Function App模块中)将数据从IoT中心传输到我的存储帐户:

    'use strict';

// This function is triggered each time a message is revieved in the IoTHub.
// The message payload is persisted in an Azure Storage Table
var moment = require('moment');

module.exports = function (context, iotHubMessage) {
   context.log('Message received: ' + JSON.stringify(iotHubMessage));
   context.bindings.deviceData = {
   "partitionKey": moment.utc().format('YYYYMMDD'),
      "rowKey": moment.utc().format('hhmmss') + process.hrtime()[1] + '',
      "message": JSON.stringify(iotHubMessage)
   };
   context.done();
};
Run Code Online (Sandbox Code Playgroud)

但是在我的存储表中,它显示为单个字符串而不是分成列(如存储资源管理器中所示).

Azure存储资源管理器

如何将其插入ts,timeToConnect,batLevel和vbat的列中?

json azure azure-table-storage azure-functions

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

在Azure数据库中为MySQL创建MyISAM表是否已启用?

当我在Azure数据库中为Mysql创建引擎是MyISAM的表时,出现错误"ERROR 1030(HY000):从存储引擎获得错误1"

我如何解决它?或者我可以在Azure数据库中使用MySQL的MyISAM表吗?

cli屏幕截图

mysql innodb azure-database-mysql

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

什么是Azure Lease Blob?

什么是Azure Lease Blob?它只是一种为blob存储提供独占锁定的机制吗?这有什么特别之处?我在哪里可以使用它?我试图阅读Azure文档,但我还不清楚.

locking azure azure-blob-storage

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

从字典中获取存在的第一个键的值

TL; DR

是否有Python字典方法或简单表达式返回字典中存在的第一个键(来自可能键列表)的值?

细节

假设我有一个包含许多键值对的Python字典.任何特定密钥的存在都不能保证.

d = {'A':1, 'B':2, 'D':4}
Run Code Online (Sandbox Code Playgroud)

如果我想获取给定键的值,并返回一些其他默认值(例如None)如果该键不存在,我只需:

my_value = d.get('C', None) # Returns None
Run Code Online (Sandbox Code Playgroud)

但是如果我想在默认为最终默认值之前检查一些可能的键呢?一种方法是:

my_value = d.get('C', d.get('E', d.get('B', None))) # Returns 2
Run Code Online (Sandbox Code Playgroud)

但随着备用键数量的增加,这会变得相当复杂.

是否存在针对此方案的Python函数?我想象的是:

d.get_from_first_key_that_exists(('C', 'E', 'B'), None) # Should return 2
Run Code Online (Sandbox Code Playgroud)

如果不存在这样的方法,是否有一个在这种情况下常用的简单表达式?

python lookup dictionary

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

如何解决Python中的StopIteration错误?

我刚刚读了一堆关于如何处理 Python 中的 StopIteration 错误的帖子,我在解决我的特定示例时遇到了麻烦。我只想用我的代码打印出 1 到 20,但它打印出错误 StopIteration。我的代码是:(我是这里的新手,所以请不要阻止我。)

def simpleGeneratorFun(n):

    while n<20:
        yield (n)
        n=n+1
    # return [1,2,3]

x = simpleGeneratorFun(1)
while x.__next__() <20:
    print(x.__next__())
    if x.__next__()==10:
        break
Run Code Online (Sandbox Code Playgroud)

python generator break while-loop conditional-statements

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

Python:将excel文件转换为JSON格式

我正在创建一个 ML 模型,它将使用 JSON 文件来理解模式和响应格式。由于我的数据为 excel 格式,因此我在 python 中将其转换为 JSON。

这是代码:

import xlrd
from collections import OrderedDict
import simplejson as json
# Open the workbook and select the first worksheet
wb = xlrd.open_workbook('D:\\android\\testdata2.xlsx')
sh = wb.sheet_by_index(0)
# List to hold dictionaries
data_list = []
# Iterate through each row in worksheet and fetch values into dict
for rownum in range(1, sh.nrows):
    data = OrderedDict()
    row_values = sh.row_values(rownum)
    data['pattern'] = row_values[0]
    data['response'] = row_values[1]
    data_list.append(data)
# Serialize the list of dicts …
Run Code Online (Sandbox Code Playgroud)

python excel json etl

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