如何动态创建 table
How to create table dynamically
我想根据用户输入的值创建 table。
每个 table 最多有 7 列,第一列作为行名。当用户输入 9 个值而不是 7 个时,它应该创建下一个 table 两列。然后对于那些 table 我稍后会通过一些计算在程序中给出价值。
我试过这段代码但出现错误
vr={}
num=0
for num in range(1,k):
print site_count
print 'num is',num
vr[str(num)]=document.add_table(rows=13, cols=(7))
print vr['1']
for num in range(1,k+1):
vr['num'].cell(1, 0).text='Subscribed BW'
vr['num'].cell(2, 0).text='Peak LAN'
vr['num'].cell(3, 0).text='Peak WAN-IN'
vr['num'].cell(4, 0).text='Peak WAN-OUT'
vr['num'].cell(5, 0).text='Recommended BW Capacity'
vr['num'].cell(7, 0).text='Peak Compression'
vr['num'].cell(9, 0).text='Optimized Traffic'
vr['num'].cell(10, 0).text='Optimized Traffic%'
vr['num'].cell(12, 0).text='Key Applications'
vr['num'].style ='TableGrid'
错误为: vr['num'].cell(1, 0).text='Subscribed BW'
键错误:'num'
有没有其他解决办法
关键字 'num' 在您的字典中不存在。
vr[str(num)] = document.add_table(rows=13, cols=(7))
这里num
是整数k
。看起来您想将赋值放在第一个循环中。
在第二个循环中,您尝试分配给
vr['num']
尝试:
vr[str(num)]
请注意,对于编号索引,您最好使用 list
或 array
。
首先要做的是删除 vr['num']
中 num
周围的引号,因为字符串 "num"
不是字典 vr
中的键,你应该使用 num
:
的字符串值
for num in range(1,k+1):
vr[str(num)].cell(1, 0).text='Subscribed BW'
vr[str('num')].cell(2, 0).text='Peak LAN'
...
但是,由于您仅将 num
用作字典的键,因此将其转换为字符串没有任何意义 - 您可以将其用作整数。
for num in range(1,k+1):
vr[num].cell(1, 0).text='Subscribed BW'
vr[num].cell(2, 0).text='Peak LAN'
...
不要不必要的str(),试试下面的代码
vr = {}
num = 0
vr[num]=document.add_table(rows=13, cols=(7))
print vr['1']
for num in range(1,k+1):
vr[num].cell(1, 0).text='Subscribed BW'
vr[num].cell(2, 0).text='Peak LAN'
vr[num].cell(3, 0).text='Peak WAN-IN'
vr[num].cell(4, 0).text='Peak WAN-OUT'
vr[num].cell(5, 0).text='Recommended BW Capacity'
vr[num].cell(7, 0).text='Peak Compression'
vr[num].cell(9, 0).text='Optimized Traffic'
vr[num].cell(10, 0).text='Optimized Traffic%'
vr[num].cell(12, 0).text='Key Applications'
vr[num].style ='TableGrid'
我想根据用户输入的值创建 table。
每个 table 最多有 7 列,第一列作为行名。当用户输入 9 个值而不是 7 个时,它应该创建下一个 table 两列。然后对于那些 table 我稍后会通过一些计算在程序中给出价值。
我试过这段代码但出现错误
vr={}
num=0
for num in range(1,k):
print site_count
print 'num is',num
vr[str(num)]=document.add_table(rows=13, cols=(7))
print vr['1']
for num in range(1,k+1):
vr['num'].cell(1, 0).text='Subscribed BW'
vr['num'].cell(2, 0).text='Peak LAN'
vr['num'].cell(3, 0).text='Peak WAN-IN'
vr['num'].cell(4, 0).text='Peak WAN-OUT'
vr['num'].cell(5, 0).text='Recommended BW Capacity'
vr['num'].cell(7, 0).text='Peak Compression'
vr['num'].cell(9, 0).text='Optimized Traffic'
vr['num'].cell(10, 0).text='Optimized Traffic%'
vr['num'].cell(12, 0).text='Key Applications'
vr['num'].style ='TableGrid'
错误为: vr['num'].cell(1, 0).text='Subscribed BW' 键错误:'num'
有没有其他解决办法
关键字 'num' 在您的字典中不存在。
vr[str(num)] = document.add_table(rows=13, cols=(7))
这里num
是整数k
。看起来您想将赋值放在第一个循环中。
在第二个循环中,您尝试分配给
vr['num']
尝试:
vr[str(num)]
请注意,对于编号索引,您最好使用 list
或 array
。
首先要做的是删除 vr['num']
中 num
周围的引号,因为字符串 "num"
不是字典 vr
中的键,你应该使用 num
:
for num in range(1,k+1):
vr[str(num)].cell(1, 0).text='Subscribed BW'
vr[str('num')].cell(2, 0).text='Peak LAN'
...
但是,由于您仅将 num
用作字典的键,因此将其转换为字符串没有任何意义 - 您可以将其用作整数。
for num in range(1,k+1):
vr[num].cell(1, 0).text='Subscribed BW'
vr[num].cell(2, 0).text='Peak LAN'
...
不要不必要的str(),试试下面的代码
vr = {}
num = 0
vr[num]=document.add_table(rows=13, cols=(7))
print vr['1']
for num in range(1,k+1):
vr[num].cell(1, 0).text='Subscribed BW'
vr[num].cell(2, 0).text='Peak LAN'
vr[num].cell(3, 0).text='Peak WAN-IN'
vr[num].cell(4, 0).text='Peak WAN-OUT'
vr[num].cell(5, 0).text='Recommended BW Capacity'
vr[num].cell(7, 0).text='Peak Compression'
vr[num].cell(9, 0).text='Optimized Traffic'
vr[num].cell(10, 0).text='Optimized Traffic%'
vr[num].cell(12, 0).text='Key Applications'
vr[num].style ='TableGrid'