我有一个单独的文件是这样一些数据:
bob 11 20
sam 30 19
jay 50 10
等等......我想:
我要它是这样的:
with open("data.txt") as f:
for lines in f:
f.readlines()
data = lines.split()
这是为了确保每个线保持在它自己的列表选择正确的方法是什么?像例如[鲍勃,11,20]?
你可以遍历列表中的理解文件生成每行分成项目的列表:
with open("data.txt") as f:
data = [line.split() for line in f]
不,这会给你只有最后一行,则应该做这样的:
data = []
with open("data.txt") as f:
for line in f:
data.append(line.split())
就在今天,有很多名单处理,我可以提供另一种解决方案:让每一行作为一个列表,并将这些列表的列表,如[['bob 11 20'], ['sam 30 19'], ['jay 50 10']]
我用这个函数:
def read():
reader = csv.reader(open("list.txt"), delimiter="\t")
list = [r for r in reader]
print(list)
有很多的方法来处理名单,并为您的项目的工作原理是“正确”的方式之一。今天早些时候,我被戏弄除了SQLAlchemy的查询到字典和转换那些成字符串和管道的出日期时间格式,其附加他们都一起回来!你可以保留行,如果单独这是你需要什么,或者通过在它们与功能再次迭代,拿出更细致的数据为您的项目。祝好运!
我已经定义了正在使用该文件中的每一行创建的Person类(作为对象的示例)
class Person:
def __init__(self, name, age, weight):
self.name = name
self.age = age
self.weight = weight
def __str__(self):
return 'name:{},age:{},weight:{}'.format(self.name, self.age, self.weight)
persons = []
with open('data.csv', 'r') as f:
lines = f.readlines()
for line in lines:
fields = line.split(' ')
persons.append(Person(fields[0], fields[1], fields[2]))
for person in persons:
print(person)
此代码可以帮助你:
data = []
lines = [line.rstrip('\n') for line in open('data.txt')]
for line in lines:
data.append({'name' : line.split()[0], 'something1' : line.split()[1], 'something2' : line.split()[2]})
你可以循环,甚至获取数据信息很容易