好的,我的代码如下:
for shidx in xrange(0, book.nsheets):
print shidx
sheet = book.sheet_by_index(shidx)
d = sheet.col_values(0,2)
D = sheet.col_values(1,2)
dim = sheet.row_values(0,2)
if shidx == 0:
#numLine = sheet.row_values(2)
rs = sheet.col_values(6,2)
for i in range(4):
BB = sheet.col_values(2 + i, 2)
if BB != 0:
#print repr(d).rjust(2), repr(D).rjust(3), repr(BB).rjust(4), repr(rs).rjust(5)
file = open("C:\\calcul\\SimX18_VitesseLimite\\Documents\\ncapa-20111116\\ncapa\\resources\\output.txt", "w")
#file.write(str(table) + '\n')
file.write(str(d) + '\n')
file.write(str(D) + '\n')
file.write(str(BB) + '\n')
file.write(str(dim) + '\n')
file.write(str(rs) + '\n')
file.close()
我一直在尝试一些不同的事情,因此在最后将评论打印掉了。
我的目的是写一个文本文件,每一行对应一个表中的一列。
我的问题是将列表分为d,D,dim和BB。这是我想做的:
d的昏暗行和d的行:
dim = [17.0, 27.0, 37.0, 47.0, u'17-47'] (see table below for the first row and to what it corresponds)
d = [0.59999999999999998, 1.0, 1.5, 2.0, 2.5, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0, 10.0, 12.0, 15.0, 17.0, 20.0, 22.0, 25.0, 28.0, 30.0, 32.0, 35.0, 40.0, 45.0, 50.0, 55.0, 60.0, 65.0, 70.0, 75.0, 80.0, 85.0, 90.0, 95.0, 100.0, 105.0, 110.0, 120.0, 130.0, 140.0, 150.0, 160.0, 170.0, 180.0, 190.0, 200.0]
1
BB的第一和第二行:
BB = [0.8,0.0,0.0,0.0]
BB = [1.0,0.0,0.0,0.0]
我希望能够写入文本文件(等效于如下表):
2
但是对于BB的第三行:
BB = [1.0,0.0,1.8,0.0]
我需要能够获得以下内容(即,有两个“暗淡”选项):
3
当我说BB不等于0.0时,我希望能够将d,D,BB的那个单一值写入到表中并变暗,但是我无法摆脱所有列表...
我真的希望这对某人有意义,因为我有点卡住了!
最佳答案
经过多次阅读,最终可以确定您的要求。但是,您的代码有几个问题:
显示的缩进被破坏。大概是在编辑器中使用选项卡。不要对Python源文件执行此操作。设置为每个缩进级别使用4个空格。
您正在遍历工作表,但忽略除第一工作表以外的所有内容;为什么?
您正在使用d
,D
和rs
引用值列表,但未遍历列表。
即使d
适当地引用了一个标量,执行file.write(str(d) + '\n')
等也无法达到每行5个值的文件目标。
如果在追加模式下打开,则每条输出行一次打开/关闭输出文件的效率将非常低下,而在写入模式下打开该文件时,效率将非常低下,并且完全错误—您将永远只能写入最后一行。
您需要考虑谁/什么将读取/使用您的输出文件,以及他们/它希望使用的格式。
够了。这是您应该做的(伪代码):
open your workbook
open your output file
for each sheet:
get dim # a list
for each data row:
get d, D, and rs # three scalars
for each bb value in the BB zone of the current row:
if bb is non-zero:
get the corresponding dim value (e.g. 27)
write d, D, bb, dim_value, rs as 1 line to the output file
close your output file
关于python - 从表中的列表中单独写入变量,并从其他变量中获得相应的值,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/8270524/