**In this code I readed the excel file, but didn’t know how to use the input table in python.**. How this can be done? and how can I work with indexing? because it gave me error that the rowID as index is string type and not integer.

import knime.scripting.io as knio

import pandas as pd

# This example script simply outputs the node’s input table.

data = knio.input_tables[0]

input_file_path = r"C:\Users\uig44188\Desktop\Analysis\InputData\MyData.xlsx"

data = pd.read_excel(input_file_path)

# Convert ‘TimeStamp’ to datetime for correct diff calculation

data[‘TimeStamp’] = pd.to_datetime(data[‘TimeStamp’], format=‘%d/%m/%Y %H:%M:%S:%f’)

# Sort the data by ‘TimeStamp’

data.sort_values(‘TimeStamp’, inplace=True)

# Identify indices where ‘Weight’ drops to zero or below (potential cycle starts)

zero_crossings = data.index[data[‘Weight’] <= 0].tolist()

# Initialize a list to store the maximum of each cycle

maxima_each_cycle =

for i in range(len(zero_crossings)-1):

# Define the cycle as the data between this zero crossing and the next

cycle_data = data.iloc[zero_crossings[i]:zero_crossings[i+1]]

```
# Find the index and value of the maximum weight in this cycle
max_idx = cycle_data['Weight'].idxmax()
max_weight = cycle_data.loc[max_idx, 'Weight']
# Only consider the maximum if it is after the zero crossing and greater than 130
if max_idx > zero_crossings[i] and max_weight > data['Weight'].max() * 0.8 :
maxima_each_cycle.append((cycle_data.loc[max_idx, 'TimeStamp'], max_weight))
```

# Convert the list to a DataFrame

maxima_each_cycle_df = pd.DataFrame(maxima_each_cycle, columns=[‘TimeStamp’, ‘Max Weight’])

merged_data = pd.merge(data, maxima_each_cycle_df, on=‘TimeStamp’, how=‘left’)

knio.output_tables[0] = knio.Table.from_pandas(merged_data)