从文件读取并将数据放入数据库的元组中

时间:2013-12-06 14:20:34

标签: python database tuples

所以我需要将有关员工的信息输入到不同的字符串或文件中的元组。格式是已知的,所以我可以提取它们并知道变量需要使用的顺序,但是我需要将每个字符串分成5个不同的项目,分成元组格式或字典。

employeeList = list()
employeeDict = {}

f = open("/Users/JamesDonnelly/Downloads/emps.txt")
myLine = f.readline()
while (len(myLine)>0):
    for word in myLine.split(' '):
        print(word)
        if len(str(word)) != 0 :
            variable = word
    myLine = f.readline()
f.close()

现在,这只打印出文件中的5个单词。所以第一个是customerID,然后是pay,job等。其中有5个。我需要分配前5到5个不同的变量,然后循环并将其分配给下一个5.然后,它是一个很好的列表或列表或数据库列表-y设置后我可以循环搜索特定的东西并归还它们。

3 个答案:

答案 0 :(得分:3)

更短更清洁。您可以通过这种简单的方式从列表/元组中提取变量。

with open("/Users/JamesDonnelly/Downloads/emps.txt") as f:
    for line in f:
        customerID, pay, job, foo, foo2 = line.strip().split()

答案 1 :(得分:1)

我会写:

customer=['Cust ID', 'Pay', 'Job', 'X', 'Y']
data={field:[] for field in customer}
with open(in_file) as fin:
    for line in fin:
        for field, datum in zip(customer,line.split()):
             data[field].append(datum)

然后,给出一个这样的文件:

1 2 3 4 5
6 7 8 9 10 
11 12 13 14 15

你最终会得到这样的数据结构:

{'Y': ['5', '10', '15'], 'Pay': ['2', '7', '12'], 'Job': ['3', '8', '13'], 'Cust ID': ['1', '6', '11'], 'X': ['4', '9', '14']}

然后以这种方式访问​​数据:

>>> data['Job'][1]
'8'

答案 2 :(得分:0)

您可以像这样分配它们:

customerID, pay, job, something1, something2 = myLine.split(' ')

然后您将每个信息放在一个变量中,现在可以将它们分配给一个带有键customerID的字典:

首先创建字典log = {}然后:

log[customerID] = pay, job, something1, something2