如何在Python中将文件的各个部分设置为不同的变量?

时间:2013-11-22 00:29:58

标签: python variables

例如,我有一个如下所示的文本文件:

Last, First; 83; 73
Random, Name; 80; 90

我想知道的是如何设置变量,如下所示:

names = ['Last, First', 'Random, Name']
num1 = [83, 73]
num2 = [80, 80]

编辑:

filename = input('Enter the name of the file: ')
f = open(filename)
for data in f:
    for info in data.split(';'):
        print(info)

所以,我这样做是为了看看拆分是否有效。它将它们分成如下新行:

Last, First
83
73
Random, Name
80
90

我也尝试使用zip(),但它没有用。

for name, num1, num2 in zip(data)

1 个答案:

答案 0 :(得分:0)

只要数据一致,您就可以使用csv模块并转置数据......例如:

import csv

with open('input') as fin:
    scin = csv.reader(fin, delimiter=';', skipinitialspace=True)
    data = zip(*scin)
    header = data[0]
    nums = zip(*data[1:])

print header
# ('Last, First', 'Random, Name')
print vals
# [('83', '73'), ('80', '90')]

请注意,nums[0]相当于您的num1nums[1]相当于您的num2等...因为您几乎肯定不需要/不需要单独的变量。如果字符串不合适,您可能希望考虑转换为适当的数据类型。