import pandas as pd
import openpyxl
from openpyxl.utils.dataframe import dataframe_to_rows
def process():
data = pd.read_excel(r'test.xlsx')
true_b = data[(data['E'] == 'b') & (data['F'] == True)]
columns = data.columns
workbook = openpyxl.Workbook()
booksheet = workbook.active
booksheet.append(list(columns))
result_index = list(true_b.index)
for i in true_b.index:
user = true_b.loc[i, 'user']
va_d = true_b.loc[i, 'D']
for j in range(1, 21):
if i - j > 0:
if user == data.loc[i - j, 'user'] and va_d == data.loc[i - j, 'D'] and data.loc[i - j, 'E'] == 'a' and \
data.loc[i - j, 'F'] == True:
result_index.append(i - j)
break
else:
break
result_index = sorted(result_index)
result_data = data.loc[result_index]
for data in dataframe_to_rows(result_data, index=False, header=False):
booksheet.append(data)
print(data)
workbook.save(r'./result.xlsx')
if __name__ == '__main__':
process()
11-26
1万+
01-17
2580
10-11
832