2017-04-05 77 views
-1

我想从我的excel sheet.Please删除前20行建议如下,但没有提到working.Installed所有openpyxl的solution.Tried许多方法来删除Excel中的行,xlrd所以请帮助如何使用python

workbook = xlrd.open_workbook('myfile.xlsx') 
worksheet = workbook.sheet_by_index(0) 
def delete_row(self, row, shift=directionUp): 
    """ 
Delete the entire 'row'. 
    """ 
self.get_range('a%s' % row).EntireRow.Delete(Shift=shift) 
# worksheet.getCells().deleteRows(2,10,True) 
# 
# # Saving the modified Excel file in default (that is Excel 2003) format 
# workbook.save(self.dataDir + "Delete Multiple Row s.xls") 

回答

0

当您考虑excel时,请使用熊猫。 (它可能是在后台使用xlrd,但它是R/Spreadsheet data/CSV /等的一个保护伞。)删除是对信息的不喜欢。想想通过选择除了你不想要的行以外的所有东西来保存文件。

输入参数可能会根据列标题的位置和其他内容而改变。如果你可以提供你的数据,你会得到更有针对性的答案。

使用documentation for read_excelto_excel可以得到更具体的结果。

import pandas as pd 
data = pd.read_excel('myfile.xlsx', header=20, skiprows=19) 
data[20:].to_excel('myfile.xlsx', columns=[insertCol1,insertCol2,insertCol3]) 
+0

1.Header是21行和运行此我失去头之后,而不是它的标题显示我\t无名:0 \t无名:1 \t无名:\t无名:3 \t无名:4 \t无名:5 \t未命名:6。第二个问题是 其增加了另一列与编号1,2,3 ....等,所以我不知道为什么发生这种情况。 – Gouri

+0

更改了代码以将其包含在read_excel()fn中。 – Back2Basics