Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/290.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/28.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python openpyxl删除除列行excel之外的所有值_Python_Excel_Openpyxl - Fatal编程技术网

Python openpyxl删除除列行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在单元

我有一个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在单元(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开始,完美,谢谢!