从文件中读取数据并进行转换

时间:2015-03-03 00:26:32

标签: python list data-structures

我通过file.read()从.txt文件中提取了以下值 - 我试图找出一种将所有这些转换为一个漂亮的数据结构(list / dict)的好方法。请帮忙?

Number=0001, Phone= 4-567-89883, Name =Jason Bates
Number=0005, Phone= 4-002-84764, Name =Damon Bates
等等堡垒等......想法?

2 个答案:

答案 0 :(得分:3)

您可以使用每个人的列表和字典来获取特定字段。

# f is your file object.
people = []
for line in f.readlines():
    d = {}
    for column in line.split(","):
        key, value = column.strip().split("=")
        d[key.strip()] = value.strip()
    people.append(d)

这会创建以下列表:

[{'Phone': '4-567-89883', 'Number': '0001', 'Name': 'Jason Bates'}, {'Phone': '4-002-84764', 'Number': '0005', 'Name': 'Damon Bates'}]

您可以访问以下数据:people[id][field]

print(people[0]["Name"])
print(people[0]["Phone"])
print(people[1]["Name"])
print(people[1]["Phone"])

输出:

Jason Bates
4-567-89883
Damon Bates
4-002-84764

希望它有所帮助。

答案 1 :(得分:0)

Numpy's genfromtxt()方法:

from numpy import genfromtxt
your_data = genfromtxt('example_1.csv', delimiter=',')

使用pandas to parse CSV个文件:

import pandas as pd
d = pd.read_csv('example_1.csv')
print d