使用python将列转换为字典

时间:2017-07-20 23:18:40

标签: python

我已将一些数据导出到文本文件中,以包含两列数据,如下所示:

a   b

c   d

e    f

g  h

不幸的是,列间距不均匀。 a和b可以用2个空格分隔,而c和d可以用5个空格分隔,而e和f可以用3个空格分隔等。

如何获取这些列并创建一个简单的字典,如{a:b,c:d,e:f,g:h}?

3 个答案:

答案 0 :(得分:4)

你可以试试这个:

f = [i.strip('\n').split() for i in open('filename.txt')]

final_dict = {i[0]:i[1] for i in f}

默认情况下,无论长度如何,split函数都会自动在空格实例处划分行。

答案 1 :(得分:2)

您可以在pandas.read_table函数中将自定义delim_whitespace参数设置为True

import pandas as pd

df = pd.read_table('data.txt', delim_whitespace=True)

d = {a: b for a, b in df.values}

答案 2 :(得分:2)

这样的简单解决方案怎么样?

d = {}

for line in open('file.txt'):
    [key, value] = line.split() # split() without arguments splits by whitespace
    d[key] = value

print(d)