2017-06-01 30 views
0

我有一个.txt文件(有数据的几行)的格式如下: 姓,名,速度,时间,工资总额使用List或Dictionary显示数据行?

我需要创建一个程序,将打开该文件(我认为我有这部分,下面),并显示文件的每一行作为逗号分隔。我应该使用什么?一个列表或字典?

我知道字典只能支持两个项目,但这些行有5个字段,列表会更好吗?那么关于代码的最好方法是什么?先谢谢你!

def main(): 
    f = open("payroll.txt", "r") 
+0

字典可以存储2个以上的元素......如果实际上可以帮助您的程序更容易理解,您可能会使用字典数组或对象数组。 – ktb

+0

请提供几行(两行或三行)示例输入,以及您想要生成的相应输出 –

回答

0

您的输入格式不清楚。如果您的源数据文件包含以逗号分隔的值,则可能需要使用csv库。

简单的例子:

import csv 
f = open ("payroll.txt", "r") 
reader = csv.reader(f) 
for line in reader: 
    # each line is a list of values, proceed from here 

或者,你可以使用DictReader:

import csv 
f = open ("payroll.txt", "r") 
reader = csv.DictReader(f) 
for line in reader: 
    # each line is a dictionary of key:val pairs, keys taken from the 
    # header row 

如果输入格式不是逗号分隔的,你需要给什么样的例子正好你正在阅读,以及你想如何显示它。

+0

我想我已经明白了。谢谢! 6 DEF主(): 7 F =打开( “payroll.txt”, “R”) 8 LIS = {} 9为在F线:) 10雇员= line.rstrip(分割(”。 ,“) 11 len(employee)> 1: 12 emp = {} 13 print(employee) 14 emp [”Last Name“] = employee [0] 15 emp [”First Name“] = employee [1] 16 emp [“Rate”] = float(employee [2]) 17 emp [“Hours”] = float(employee [3]) 18 emp [“Gross Pay”] = float(employee [4] ]) 19 lis [len(lis)] = emp 20 print(lis) 22 main() – Julinha

相关问题