Python openpyxl删除除列行excel之外的所有值
我有一个excel:Python openpyxl删除除列行excel之外的所有值,python,excel,openpyxl,Python,Excel,Openpyxl,我有一个excel: A B C D 1 long short suggested_long suggested_short 2 -2.11 5.11 #N/A 3 -4.11 3.66 #REF! #N/A 4 93.44 7.55 0 0 5 1256.4 966.5 563.5 #REF! 因此,long在单元
A B C D
1 long short suggested_long suggested_short
2 -2.11 5.11 #N/A
3 -4.11 3.66 #REF! #N/A
4 93.44 7.55 0 0
5 1256.4 966.5 563.5 #REF!
因此,long在单元(A1)中,5.11在单元(B2)中;
我想清除Suggered_long和Suggered_short中的所有值,但需要保留列名行,因为我需要在清除所有值后插入数据。那么结果应该是:
A B C D
1 long short
2 -2.11 5.11
3 -4.11 3.66
4 93.44 7.55
5 1256.4 966.5
我知道openpyxl可以做到:
for row in ws['C1:D5']:
for cell in row:
cell.value = None
删除单元格中的值,但建议的\u long和建议的\u short中的单元格值数量不确定。我想其他人可能也有同样的问题,所以我把它贴在这里,非常感谢
for row in ws['C2:D'+str(len(ws['D']))]:
for cell in row:
cell.value = None
试试这个:
for row in ws['C2:D'+str(len(ws['D']))]:
for cell in row:
cell.value = None
当然,最简单的方法是删除列并替换标题:
ws.delete_cols(3, 2)
ws["C1"] = "suggested_long"
ws["D1"] = "suggested_short"
否则使用ws.iter\u行(min\u行=2,min\u列=3),最简单的方法是删除列并替换标题:
ws.delete_cols(3, 2)
ws["C1"] = "suggested_long"
ws["D1"] = "suggested_short"
否则使用
ws.iter\u行(minu row=2,minu col=3)
将这些设置为None是正确的。但不要将A1:D5全部设置为无,而是在列标题中查找C1:D5设置为无时的建议
。是的,很抱歉输入错误,请将其从A1更正为C1。您有正确的想法将这些设置为无。但是,不要将A1:D5全部设置为无,而是在列标题中查找C1:D5设置为无时的建议的
。是的,很抱歉输入错误,请将其从A1更正为C1。这很好,但这样,列名也将被删除。哦,对不起,忘记了根据您需要的特定单元格调整答案。修正了,现在应该可以了:)@Michaelow,D也将从D2开始,完美,谢谢!这很好,但是这样,列名也将被删除。对不起,忘记了根据您需要的特定单元格调整答案。修正了,现在应该可以了:)@Michaelow,D也将从D2开始,完美,谢谢!