所以,我有这个数据设置如下的文件:
Bob 5 60
Carl 7 80
Rick 8 100
Santiago 7 30
我需要将每个部分分成三个不同的列表。一个用于名称,一个用于第一个数字,一个用于第二个数字。
但我真的不明白,我究竟如何提取这些部分?另外,假设我想用第一行创建一个元组,将每个不同的部分(名称,第一个数字和第二个数字)组合成一个元组?
我只是不知道如何提取这些信息。 我刚刚学会了如何读写文本文件......所以我很无能为力。
编辑:注意,文本文件已经存在。我正在处理的程序需要读取文本文件,其文件格式按我列出的方式格式化。
答案 0 :(得分:5)
您可以在空格上拆分每一行:
with open(yourfile) as f:
rows = [l.split() for l in f]
names, firstnums, secondnums = zip(*rows)
zip(*iterable)
将3列重新排列为3个列表。
答案 1 :(得分:0)
Pickle模块不是理想的吗? Pickle提供Python功能来加载和保存Python中需要“可用”的东西,因此pickle不是只从文本文件中导入字符串而是必须解析它,而是可以加载它并为您提供实际的容器与...合作。
示例:
import pickle
myList = ["Bob", 1, 2]
listToBeSaved = pickle.dumps(myList) # write this data to your save file
#insert code where you work with the file and save it
#.........
#upon needing to open and work with this file
listToBeLoaded = open(fileYouWroteTo)
listTranslated = pickle.loads(listToBeLoaded) # turns the loaded data back into a proper list