Python 将字典格式化为表格式
我需要以表格格式显示我的词典:Python 将字典格式化为表格式,python,dictionary,ordereddictionary,Python,Dictionary,Ordereddictionary,我需要以表格格式显示我的词典: res = OrderedDict([('Release', '3.7.3'), ('REFDB', ['1234', '4567', '4567']), ('URL', ['http://www.test.com', 'http://www.foo.com', 'http://www.bar.com'])]) 我可以用这个代码以列表格式打印值 if res: for key, val in res.items(): print (key
res = OrderedDict([('Release', '3.7.3'), ('REFDB', ['1234', '4567', '4567']), ('URL', ['http://www.test.com', 'http://www.foo.com', 'http://www.bar.com'])])
我可以用这个代码以列表格式打印值
if res:
for key, val in res.items():
print (key, '-''\n', val)
else:
print ('Version not found')
我期望的格式是-
Release REFDB SVN
3.7.3 12345 http://google.com
232323 http://www.yahoo.com
4343454 http://www.test.com
5454554 http://www.bar.com
这里有一种使用和的方法:
如果希望有更多或更少的间距,可以在字符串格式中更改列间间距。以下是使用和的一种方法:
如果希望有更多或更少的间距,可以在字符串格式中更改列间间距。可以使用库将字典转换为数据帧
from collections import OrderedDict
import pandas as pd
d = OrderedDict([('Release', '3.7.3'), ('REFDB', '12345 \n 232323 \n 4343454 \n 5454554'), ('URL', 'http://google.com \n http://www.yahoo.com \n http://www.test.com \n http://www.bar.com')])
for key in d.keys():
d[key] = d[key].split('\n')
df = pd.DataFrame.from_dict(d, orient='index').transpose()
输出将是:
Release REFDB URL
0 3.7.3 12345 http://google.com
1 None 232323 http://www.yahoo.com
2 None 4343454 http://www.test.com
3 None 5454554 http://www.bar.com
可以使用库将字典转换为数据帧
from collections import OrderedDict
import pandas as pd
d = OrderedDict([('Release', '3.7.3'), ('REFDB', '12345 \n 232323 \n 4343454 \n 5454554'), ('URL', 'http://google.com \n http://www.yahoo.com \n http://www.test.com \n http://www.bar.com')])
for key in d.keys():
d[key] = d[key].split('\n')
df = pd.DataFrame.from_dict(d, orient='index').transpose()
输出将是:
Release REFDB URL
0 3.7.3 12345 http://google.com
1 None 232323 http://www.yahoo.com
2 None 4343454 http://www.test.com
3 None 5454554 http://www.bar.com
您必须
将这些字符串拆分为字符串列表,然后使用itertools.zip\u longest
生成元组。使用''
作为填充值。您必须将这些字符串拆分为字符串列表,然后使用itertools.zip\u longest
生成元组。使用''
作为填充值。我正在以不同的格式获取词典(在原始问题中更新)。当前格式的代码失败。@vpd在收到有效答案后更新您的问题是不公平的。在我的答案中编辑数据集以匹配您的新问题甚至会使问题变得更糟。无论如何,我更新了答案以符合您的新要求。下次,你应该在答案上留下评论,说明你的新要求,如果它与第一次没有太大的不同。否则,你可以考虑在一个新的帖子里问这个问题。当前格式的代码失败。@vpd在收到有效答案后更新您的问题是不公平的。在我的答案中编辑数据集以匹配您的新问题甚至会使问题变得更糟。无论如何,我更新了答案以符合您的新要求。下次,你应该在答案上留下评论,说明你的新要求,如果它与第一次没有太大的不同。否则,你可以考虑在一个新的职位上提出这个问题。