我有一个带有这个结构的Python文件:
我想要提取的字符串以及其他一些信息,例如整数
例如:<?xml-stylesheet type="text/xsl" href="list.xsl"?>
模型后面有很多行。为了提取我想要的东西,我想在Python中读取字符,而字符与SPACE不同。当角色是空格时,转到下一行并继续进行。
但是,我不知道如何实施......你们可以帮助我吗?
[增订] 我想将每个信息(房间,汽车,风扇......)存储在列表中。
答案 0 :(得分:1)
您的问题有点令人困惑,但我认为https://docs.python.org/3/对您有用。
要阅读文件,您可以使用open("filename", "r")
。对于文件中的每一行,您可以使用.split(" ")
方法创建列表。最终,它看起来像这样:
data = []
file = open("filename", "r")
for line in file:
data.append(line.split(" "))
print(data)
f.close()
变量数据可以是列表列表。
答案 1 :(得分:1)
您可以逐行读取文件(并为每一行执行一些操作),如下所示:
with open('filename') as file:
for line in file:
#do something with line here
然后使用string.split()
形成一个数组,每当它读取一个空格时添加一个新项目。所以:
array = []
with open('filename') as file:
for line in file:
array.append(line.split())
#Result: [['**Room**', '61201', '1', 'png']]
你可以根据自己的喜好操纵数组中的信息。
为了从新数组中的行访问特定信息,运行一个简单的for循环,如下所示:
item1 = []
item2 = []
item3 = []
item4 = []
for dataset in array:
item1.append(dataset[0])
item2.append(dataset[1])
item3.append(dataset[2])
item4.append(dataset[3])
更加pythonic的方式是使用这样的数组字典:
dataDict = {0: [], 1: [], 2: [], 3: []}
for dataset in array:
for i in range(len(dataset)):
dataDict[i].append(dataset[i])
只要数据的顺序相同,就会将每个第n个元素附加到自己的数组中。
希望这有帮助!