输入文件格式已更改。 原点输入文件
A B C
1 Tom Red True
2 Tom Red False
3 Marry Green False
4 Marry Green True
5 Babara Red False
更改了输入文件
A B C
1 Title
2 Name Color Result
3 Tom Red True
4 Tom Red False
5 Marry Green False
6 Marry Green True
7 Babara Red False
现在,我想从输入文件的第3行读取。
如何修改下面的代码?
import collections
from openpyxl import load_workbook
wb1 = load_workbook('test.xlsx')
ws1 = wb1['test']
a_dict = collections.defaultdict(list)
for row in ws1.rows:
a_dict[row[0].value+','+row[1].value].append(str(row[2].value))
wb2 = Workbook(write_only=True)
ws2 = wb2.create_sheet()
for key,value in a_dict.items():
temp = key.split(',')
temp.append(','.join(value))
ws2.append(temp)
wb2.save('new_test.xlsx')
输出文件在
之下 A B Result
1 Tom Red True,False
2 Marry Green False,True
3 Babara Red False
答案 0 :(得分:1)
通过n-1
访问集合的任何元素,其中n
是列表中的位置(因为我们从0开始计算列表)。如果ws_in.rows
是生成器,则必须将其强制转换为列表,因此请list(ws_in.rows)[2]
访问第三行。
答案 1 :(得分:0)
您可以使用${file1}
控制要阅读的行如果您想从第三行阅读,只需设置ws.iter_rows()
。