Python 列表中的列表来自具有不同布局的数据文件
Python list in lists from datafile with different layouts
我有点卡在这里。我正在尝试读取 Python 3 中的数据文件。
我想做一个列表列表
*前36行:
每行都是附加到主列表的列表
f = open("a.data","r")
h = []
a = []
for word in range(0,797):
g = f.readline()
h.append(g.strip())
a.append(h)
h = []
但是从第 37 行开始:
我需要一个发生这种情况的循环:
新线为白线,通过
接下来的 4 行应该进入一个新列表 'h' 并附加到 'h' 到 'a'
问题是 readline() 对我尝试的一切都表现得很疯狂
有什么建议吗?
提前致谢。
ps 4行中的字符串除以一个;
试试这个:
import re
with open('a.data', 'r') as f:
lst = re.split(';|\n{1,2}', f.read())
length = 36
lstoflst = [lst[i:i+length] for i in range(0, len(lst)-1, length)]
print(lstoflst)
我阅读了整个列表,在换行符和分号处拆分,并制作了一个列表理解列表。
请考虑为您的下一份报告使用更好的数据格式,如果可能,例如 csv。
我有点卡在这里。我正在尝试读取 Python 3 中的数据文件。 我想做一个列表列表
*前36行: 每行都是附加到主列表的列表
f = open("a.data","r")
h = []
a = []
for word in range(0,797):
g = f.readline()
h.append(g.strip())
a.append(h)
h = []
但是从第 37 行开始: 我需要一个发生这种情况的循环:
新线为白线,通过
接下来的 4 行应该进入一个新列表 'h' 并附加到 'h' 到 'a'
问题是 readline() 对我尝试的一切都表现得很疯狂
有什么建议吗?
提前致谢。
ps 4行中的字符串除以一个;
试试这个:
import re
with open('a.data', 'r') as f:
lst = re.split(';|\n{1,2}', f.read())
length = 36
lstoflst = [lst[i:i+length] for i in range(0, len(lst)-1, length)]
print(lstoflst)
我阅读了整个列表,在换行符和分号处拆分,并制作了一个列表理解列表。
请考虑为您的下一份报告使用更好的数据格式,如果可能,例如 csv。