db = sqlite.connect("test.sqlite")
res = db.execute("select * from table")
Run Code Online (Sandbox Code Playgroud)
通过迭代,我得到与行相对应的列表.
for row in res:
print row
Run Code Online (Sandbox Code Playgroud)
我可以得到列的名称
col_name_list = [tuple[0] for tuple in res.description]
Run Code Online (Sandbox Code Playgroud)
但是有一些功能或设置来获取字典而不是列表吗?
{'col1': 'value', 'col2': 'value'}
Run Code Online (Sandbox Code Playgroud)
或者我必须自己做?
我最近才听说过JSON(Javascript Object Notation).任何人都可以解释为什么(某些网站/博客/等)被认为是重要的?我们已经有了XML,为什么JSON更好(除了'原生于Javascript')?
编辑:嗯,主要答案主题似乎是'它更小'.但是,它允许跨域提取数据这一事实对我来说似乎很重要.或者这在实践中是否(尚未)使用得多?
当我做某事的时候
sqlite.cursor.execute("SELECT * FROM foo")
result = sqlite.cursor.fetchone()
Run Code Online (Sandbox Code Playgroud)
我认为必须记住列似乎能够取出它们的顺序,例如
result[0] is id
result[1] is first_name
Run Code Online (Sandbox Code Playgroud)
有没有办法归还字典?所以我可以只使用结果['id']或类似的?
编号列的问题是,如果您编写代码然后插入一个列,您可能需要更改代码,例如first_name的result [1]现在可能是date_joined,因此必须更新所有代码...
虽然Thrift格式相对广泛使用(并且项目仍然存在),但我无法找到底层数据格式的规范.或格式,因为显然至少有两种格式; 标准的,紧凑的格式.
鉴于它的广泛使用,我希望它只是我可怜的google-fu,并且存在规范或规范(源代码之外).如果是这样,请分享!
编辑:Java源代码对于确定格式并不算太糟糕; 参见TBinaryProtocol.java和TCompactBinaryProtocol.java; 其中包含基元,由生成的类调用(扩展TBase)
编辑2:虽然它不包含格式规范,但" 缺失的指南 "是很好的阅读.
我在计算平均时间时遇到问题.情况就是这样:我有多行,每行都有时间格式的数据,所以我需要计算所有行的平均时间并将其与行数相乘但当然我的数据格式有问题,因为我需要将时间乘以整数
有人可以帮我提一些建议吗?thnx这是一些数据:
times
00:00:00.7400000
00:00:01.1870000
00:00:00.6430000
00:00:00.6100000
00:00:12.9570000
00:00:01.1000000
00:00:00.7400000
00:00:00.5300000
00:00:00.6330000
00:00:01.6000000
00:00:02.6200000
00:00:01.0300000
00:00:01.9630000
00:00:00.9800000
00:00:01.0170000
00:00:00.7600000
00:00:00.7130000
00:00:00.9730000
00:00:01.0000000
00:00:01.0530000
00:00:02.9400000
00:00:00.8200000
00:00:00.8400000
00:00:01.1800000
00:01:25.8230000
00:00:01.0000000
00:00:00.9700000
00:00:01.2930000
00:00:01.3270000
00:00:13.5570000
00:00:19.3170000
00:00:58.2730000
00:00:01.6870000
00:00:18.7570000
00:00:42.8570000
00:01:12.3770000
00:00:01.2170000
00:00:09.9470000
00:00:01.4730000
00:00:00.9030000
00:00:01.0070000
00:00:01.1100000
00:00:01.6270000
00:00:05.0570000
00:00:00.6570000
00:00:00.7900000
00:00:03.2930000
00:00:00.8600000
00:00:01.0330000
00:00:00.9300000
00:00:00.8730000
00:00:00.9600000
00:00:00.8070000
NULL
Run Code Online (Sandbox Code Playgroud)
因此,根据这些数据,需要平均时间或/和该数据的总和
这个 MySQL 函数相当于什么
SELECT JSON_PRETTY('{"a": 1, "b": 2, "c": 3}') AS Result
FROM table;
Run Code Online (Sandbox Code Playgroud)
格式化 JSON:
+------------------------------+
| Result |
+------------------------------+
| { |
| "a": 1, |
| "b": 2, |
| "c": 3 |
| } |
+------------------------------+
Run Code Online (Sandbox Code Playgroud)
我已经jsonb_pretty()
按照文档中提到的方式尝试过,但没有任何可用的
我(经常)面临着必须解析文本数据文件的任务 - 在"每个人"使用XML之前使用的文本结构化数据表示 - 这是某种行业标准.(这些太多了.)
无论如何,基本任务总是采用文本文件并填充某种数据结构中的内容,以便我们的C++代码可以对信息做些什么.
现在,我已经手工实现了一些简单的(并且非常多样的)解析器,并且我几乎没有鄙视.:-)
所以 - 我想知道当我想要将结构化文本数据"解析"为内存中表示时的当前技术水平(想想:任意语言的XML数据绑定).
到目前为止我发现的是" 你推荐什么解析器生成器 ",但我不太确定我是在使用解析器生成器(如ANTLR)之后.
明显的候选人似乎是pegtl和Boost.Spirit,但他们似乎都很复杂(但至少他们是语言),上次我尝试过Spirit,编译错误让我疯狂.(并且pegtl需要兼容C++ 11的编译器,这仍然是一个问题(VC++ 2005).)
所以我错过了一个简单的解决方案,只是为了得到类似的东西
/begin COMPU_METHOD
DEC " Decimal value"
RAT_FUNC
"%3.0"
"dec"
COEFFS 0 1.000000 0.000000 0 0.000000 1.000000
/end COMPU_METHOD
Run Code Online (Sandbox Code Playgroud)
进入C++数据结构?(这只是这个文件的一部分可能看起来的任意例子.对于这种格式,我可以(并且可能应该)购买一个库来解析它,因为它足够广泛 - 对于所有格式我都不是这样的情况遭遇.)
- 或者我应该选择 Boost.Spirit 的复杂性?
我正在将来自不同数据集的数据编译成一个数据集进行分析.我将进行数据探索,尝试不同的事情来找出数据中可能隐藏的规则,因此我目前没有特定的方法.现在我想知道我是否应该将数据编译成长格式或宽格式.
我应该使用哪种格式,为什么?
我理解数据可以从长到宽重新形成,反之亦然,但仅仅存在这种功能意味着有时需要重新塑造,这反过来意味着特定的格式可能更适合于某个任务.那么我什么时候需要哪种格式?为什么?
我不是在问性能问题.其他问题已经涉及到这一点.
我将编写一个国际象棋服务器和一个或多个国际象棋客户端,我想用编程语言独立的方式描述国际象棋的规则(例如基于游戏状态的允许移动,游戏完成时的规则).这有点棘手,因为一些国际象棋规则(例如King Castling,en passent,基于3次或更多次重复动作绘制)不仅基于棋盘布局而且基于移动历史.
我希望格式为:
但我愿意牺牲其中任何一种来获得合适的解决方案.
我的主要问题是:如何构建如此复杂的算法,从数据格式对这种复杂状态进行操作?
后续问题是:您能否以类似的方式提供类似问题的示例,以此作为起点?
编辑:为了回应清晰的要求 - 考虑我将用Python编写的服务器,一个用C#编写的客户端和另一个用Java编写的客户端.我想避免在每个地方指定规则(例如,允许的棋子移动,检查的情况等).我宁愿以语言独立的方式指定这些规则.
我正在写一个快速前端来显示吉他指法.前端是在Flash中,但我想以一些人类可读的格式存储选项卡.有人知道已存在的东西吗?有关如何去做的任何建议?我从阅读一些stackoverflow帖子得到的一个想法是使用严格的ASCII标签格式,如下所示:
e||-1------3--------------0--|----2-------0---
B||--1-----3------------1----|----3-------0---
G||---2----0----------0------|----2-------1---
D||----3---0--------2--------|----0-------2---
A||----3---2------3----------|------------2---
E||----1---3----3------------|------------0---
Run Code Online (Sandbox Code Playgroud)
它有优势.我可以从结构中获得大量信息(多少个字符串,它们的调音,音符的相对位置),但它有点冗长.我猜测'当通过电线发送时,'会很好地压缩掉.
如果有人知道用于描述吉他标签的现有数据格式,我也会看一看.
编辑:
我应该注意到这种格式对我来说是90%,除了我自己以外的任何人都可能看不到.我想要一种简单的方法来编写标签文件,这些文件最终将作为Flash前端的图形显示,我不想编写编辑器前端.
dataformat ×10
python ×3
dictionary ×2
json ×2
sql ×2
sqlite ×2
boost-spirit ×1
c# ×1
c++ ×1
chess ×1
guitar ×1
integer ×1
java ×1
javascript ×1
jsonb ×1
mysql ×1
parsing ×1
postgresql ×1
r ×1
reshape ×1
t-sql ×1
thrift ×1
time ×1
xml ×1