我有一个文件,每行有一个参数:
a1
b1
c1
a2
b2
c2
...
参数是字符行(不是数字)
我需要把它加载到二维数组中进行进一步的操作。 到目前为止,我成功地将这个文件上传到1D数组中:
ParametersRaw = []
with open(file1) as fh:
ParametersRaw = fh.readlines()
fh.close()
NumberOfColumns = 7
NumberOfRows = len(ParametersRaw)/NumberOfColumns
Parameters = [[],[]]
i=0
j=0
k=0
while (i < NumberOfRows):
while (j < NumberOfColumns):
k = (i*NumberOfColumns)+j
Parameters[i][j] = ParametersRaw[k]
j = j + 1
i = i + 1
j = 0
它在Parameters[i][j] = ParametersRaw[k]
行失败,出现错误:
IndexError: index 0 is out of bounds for axis 0 with size 0
在填充1D数组的情况下,我将使用append()方法。 但是在2D的情况下,我不知道如何应用append()。你知道吗
狮子座
我不知道这是否能回答你的问题,但如果你从
那么
{is}
你所拥有的,
Parameters = [[],[]]
,是一个包含两个空列表的列表。因为这些列表是空的,所以不能索引到它们中。你知道吗您仍然可以使用append,但必须首先为每个值初始化空列表。你知道吗
然后可以对每个项目调用
append
:记住
range(0,NumberOfRows,NumberOfColumns):
的用法,它与迭代i+=NumberOfColumns
直到i >= NumberOfRows
的用法相同我希望这是你想要的方式!我无法测试它,因为我没有你的任何数据,所以只要评论,如果有什么不对劲:)
谢谢大家。下面是最后一段代码,它给我带来了很多麻烦,但现在却按照我想要的方式工作:
特写
相关问题 更多 >
编程相关推荐