Python脚本未将整行放入excel电子表格

Python脚本未将整行放入excel电子表格,python,excel,Python,Excel,我有一个Python脚本,它可以分解HTML,去掉我想要的部分,并给我一个列表,部分如下所示: ... San Onofre SB Otay Mesa Platteville NB Platteville SB ... print "Now let's put it in a spreadsheet..." time.sleep(1) f = open('Out.txt', 'r+') #The file that's created earlier in the script with th

我有一个Python脚本,它可以分解HTML,去掉我想要的部分,并给我一个列表,部分如下所示:

...
San Onofre SB
Otay Mesa
Platteville NB
Platteville SB
...
print "Now let's put it in a spreadsheet..."
time.sleep(1)
f = open('Out.txt', 'r+') #The file that's created earlier in the script with the list
row_list = []
for row in f:
    row_list.append(row.split())
column_list = zip(*row_list)

rb = open_workbook("CVO.xls",formatting_info=True)
r_sheet = rb.sheet_by_index(0) 
wb = copy(rb) 
w_sheet = wb.get_sheet(0) 
i = 2 
for column in column_list:
    for item in range(len(column)):
        w_sheet.write(item, i, column[item])
    wb.save('CVO.xls')
    i+=1

f.close()
os.remove("Out.txt")
print "Success!"
time.sleep(2)
...
San
Otay
Platteville
Platteville
...
脚本的最后一部分将所有这些行放入Excel电子表格中它们自己的行中。这段代码如下所示:

...
San Onofre SB
Otay Mesa
Platteville NB
Platteville SB
...
print "Now let's put it in a spreadsheet..."
time.sleep(1)
f = open('Out.txt', 'r+') #The file that's created earlier in the script with the list
row_list = []
for row in f:
    row_list.append(row.split())
column_list = zip(*row_list)

rb = open_workbook("CVO.xls",formatting_info=True)
r_sheet = rb.sheet_by_index(0) 
wb = copy(rb) 
w_sheet = wb.get_sheet(0) 
i = 2 
for column in column_list:
    for item in range(len(column)):
        w_sheet.write(item, i, column[item])
    wb.save('CVO.xls')
    i+=1

f.close()
os.remove("Out.txt")
print "Success!"
time.sleep(2)
...
San
Otay
Platteville
Platteville
...
部分结果如下所示:

...
San Onofre SB
Otay Mesa
Platteville NB
Platteville SB
...
print "Now let's put it in a spreadsheet..."
time.sleep(1)
f = open('Out.txt', 'r+') #The file that's created earlier in the script with the list
row_list = []
for row in f:
    row_list.append(row.split())
column_list = zip(*row_list)

rb = open_workbook("CVO.xls",formatting_info=True)
r_sheet = rb.sheet_by_index(0) 
wb = copy(rb) 
w_sheet = wb.get_sheet(0) 
i = 2 
for column in column_list:
    for item in range(len(column)):
        w_sheet.write(item, i, column[item])
    wb.save('CVO.xls')
    i+=1

f.close()
os.remove("Out.txt")
print "Success!"
time.sleep(2)
...
San
Otay
Platteville
Platteville
...
我认为由于行被拆分的方式,部分被省略了,但我不确定如何使其包含整个行

有什么想法吗

谢谢

编辑

目标是使整个生产线(San Onofre SB、Otay Mesa等)位于自己的一行。它现在就这样做了,它只是删掉了除第一个单词以外的所有单词(将San Onofre SB变成了just San)


很抱歉造成混淆。

您的问题在于您的
邮政编码
zip
截短到其可压缩项中最短的,例如:

>>> zip(*[[1, 2, 3], [4, 5], [6, 7, 8]])
[(1, 4, 6), (2, 5, 7)]
幸运的是,您不需要
zip
,我也不知道您为什么要这么做。要将每个单词写在单独的列中,只需遍历
行列表
结构:

col_offset = 2
for (rownum, words) in enumerate(row_list):
    for (colnum, word) in enumerate(words):
        w_sheet.write(rownum, colnum + col_offset, word)
枚举
为输入iterable中的每个元素生成
(索引,对)
值,以便自动在序列中移动
col_offset
是因为
enumerate
是0索引的,示例代码显示设置起始列的
i=2

如果你不想让这些单词在单独的列中,就不要拆分行,只要
strip()
它们就可以去掉换行符。如果必须将它们拆分以供上一次处理,请使用
join()
重新组合它们:

colnum = 2
for (rownum, words) in enumerate(row_list):
    w_sheet.write(rownum, colnum, ' '.join(words))

您希望电子表格包含哪些内容?包含所有拆分字符串的一行?每行一个字符串?单个单元格中应该包含哪些内容?已编辑。每行一个字符串是目标。谢谢。我给了这张支票,因为它很接近,但不完全正确。这也产生了一个相当有趣的结果。它输入的所有数据在电子表格中都是倾斜的。看起来很有趣。不管怎么说,它把“Santa Nella SB”放在3个单元格中,而不是一个……C1、D1和E1单元格。然后,在下面,“San Onofre SB”是相同的方式,但在D1、E1和F1中位于右侧。等等接近但不完全正确。我得看看能不能修好它。谢谢你的输入。我在底部有一个杂散的“col_offset+=1”。抛弃了它,现在它不再把我的数据到处乱放了。但是,它仍然将每个单词分割成自己的单元格。对,这就是我所指的关于不分割行的部分。我将添加代码,显示如果必须拆分它们以进行早期处理,如何重新加入它们。噢。我没看到。你这个摇滚人。100%工作。非常感谢。