比较Excel的输入并写入.txt文件

时间:2015-09-26 16:35:58

标签: python excel

我在Excel中有这样的输入:

Column1 Column2
1       test1
1       test2
2       test3
2       test4
2       test5

我的目标是比较column1数字,如果它们相等,则将column2字符串连接到列表中,并将列表写入.txt文件。 基本上结果应该在.txt文件中,如下所示:

test1 test2
test3 test4 test5

我需要最后一部分的帮助,写入新的列表或文件,其中字符串是连接的,并用空格分隔。如果数字发生变化(例如从1到2),则新字符串应位于文件/列表中的新行

目前如果有这么多:

import xlrd
from os import sys

workbook = xlrd.open_workbook("test.xls")
worksheet = workbook.sheet_by_index(0)

col1 = []
col2 = []
out = []
col1.append(worksheet.col_values(0))
col2.append(worksheet.col_values(1))
n = 0
m = 1
for n in range(len(col1)):
    for m in range(len(col1)):
        if col1[n] == col1[m]:
            out.append(col2[n])
    m += 1
n += 1
print '%s' % out

1 个答案:

答案 0 :(得分:0)

您可以使用字典来获取具有相同int值的所有项目。最后在文本文件中将列表项打印为字符串。我发布了您需要更改的最后一部分的代码。

from collections import defaultdict
res_dict = defaultdict(list)

for n in range(len(col1)):
  res_dict[col1[n]].append(col2[n])

for key, val_list in res_dict.items():
  text_file_handle.write(' '.join(val_list) + '\n')