我在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
答案 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')