Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/292.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/python-2.7/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/sql-server-2008/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Python中,如何以人类可读的形式呈现成对的dict?_Python_Python 2.7_Dictionary_Human Readable - Fatal编程技术网

在Python中,如何以人类可读的形式呈现成对的dict?

在Python中,如何以人类可读的形式呈现成对的dict?,python,python-2.7,dictionary,human-readable,Python,Python 2.7,Dictionary,Human Readable,基本上,我正在寻找一种有效的方式(就编码工作而言)以人类可读的形式呈现一组dict。在Python2.7中 我有两个列表,分别是OrderedDict。每一条记录都是一本书的数据记录(书名、作者等)。一个列表有凌乱的数据(打字错误等),另一个列表有整齐的数据。我正在使用difflib.SequenceMatcher查找与不整洁的标题最接近的匹配项。这很有效 它给了我一个目录对的列表,即每一个不整洁的目录和它最接近的匹配整洁的目录。这些配对需要由人类一对一对地审查。 所以我想把每一对输出到屏幕上,

基本上,我正在寻找一种有效的方式(就编码工作而言)以人类可读的形式呈现一组dict。在Python2.7中

我有两个列表,分别是
OrderedDict
。每一条记录都是一本书的数据记录(书名、作者等)。一个列表有凌乱的数据(打字错误等),另一个列表有整齐的数据。我正在使用
difflib.SequenceMatcher
查找与不整洁的标题最接近的匹配项。这很有效

它给了我一个目录对的列表,即每一个不整洁的目录和它最接近的匹配整洁的目录。这些配对需要由人类一对一对地审查。 所以我想把每一对输出到屏幕上,在各自的面板上并排显示不整洁和整洁的dict。每个dict可能有不同数量的附加字段,例如合著者、出版商、日期等

difflib.HtmlDiff
并不是我想要的

导出到Excel(通过CSV)并不理想,因为数据不是平面的。(excel中的一行与另一行的字段数不同)。同样,对于GoogleRefine,我认为它更倾向于表格数据

可以说我懒惰,但Tkinter或XML/HTML似乎有些过分。这只是一次性的锻炼

我对JSON和YAML都不熟悉,也许我应该看看那里

还有更好的建议吗


我有种预感,我还没有找到合适的搜索词

我必须输出的是一个3项列表,每个3项列表包含匹配的编号和两个有序的dict,标题为正确的和最佳匹配的标题,都有其他信息,如作者、shelfmark等

我选择Yaml中的输出,因为它被宣传为人类可读和人类可编辑。对于这一点,我还没有用户推荐,但是创建输出文件非常简单(如果您花时间阅读文档的话)


YAML对我来说,如果唯一的限制是它应该是人类可读的,为什么不使用一个包含3列(键名、无序值、整洁值)的文本文件呢?当然,您还需要为每个diff添加另一行“header”数据,但这也不需要太多编码工作。输入和输出是什么?@user2931409 input是dict对的列表。输出请参见编辑的文本。@isedev感谢您的更正
import yaml
.
.

with codecs.open('Lit_titles_match.yml', 'w', 'utf-8-sig') as m:
    # match is a list of lists of one float and two dicts.   
    m.write(yaml.dump_all(match, default_flow_style=False))