此问题已经在这里有了答案:
全部
我创建了导入excel文件的Python代码,如果符合条件,则使用“ while”和“ if”状态删除原始代码。完成比较后,将结果导出为excel文件。没有错误代码,但是删除原始文件不起作用,因为当我打开结果excel文件时,它与导入的excel文件完全相同。我认为“ data.drop(data.index [pointer + a])”不起作用。您能帮我吗?
import pandas as pd
data = pd.read_excel('20190924_1147-50_result.xlsx', index_col = 0)
print('\nExcel file reading complete')
a = 1
pointer = 0
del_indicator = 0
data = data.drop_duplicates(['Src IP', 'Dst IP', 'Dst Port'], keep='first')
print('SrcIP, DstIP, Dst Port are Deduplicated\n')
while True:
if pointer == 2906 :
print(pointer, data.iloc[pointer, 3])
break
elif pointer+a == 2906 :
pointer +=1
a = 1
elif data.iloc[pointer, 2] == data.iloc[pointer+a, 3] and data.iloc[pointer, 3] == data.iloc[pointer+a, 2] and data.iloc[pointer, 6] == data.iloc[pointer+a, 5]:
print('\n-----', data.iloc[pointer, 0], data.iloc[pointer, 2], data.iloc[pointer, 3])
print('-----', data.iloc[pointer+a, 0], data.iloc[pointer+a, 2], data.iloc[pointer+a, 3])
data.drop(data.index[pointer+a])
a+=1
else:
a+=1
print('Deleting session traffic Finished')
data.to_excel('20190924_1147-50_result_test.xlsx', sheet_name = 'Using data')
print('Finished creating result excel file')
尝试进行以下小更改
data.drop(data.index[pointer+a], inplace=True) # add inplace
# or another solution data = data.drop(data.index[pointer+a])
在我看来,您没有保存对数据的更改。