Answered step by step
Verified Expert Solution
Question
1 Approved Answer
# Function to read data from an Excel file def read _ excel ( file _ path, sheet _ name = None ) : try:
# Function to read data from an Excel file def readexcelfilepath, sheetnameNone: try: workbook openpyxl.loadworkbookfilepath if sheetname: activesheet workbooksheetname else: activesheet workbook.active data for row in activesheet.iterrowsminrow valuesonlyTrue: rowdata cellvalue for cellvalue in row data.appendrowdata return data except FileNotFoundError: printFile not found. Please provide a valid file path." return except Exception as e: # Catch broader errors printfAn error occurred: e return # Function to generate preferences based on votes def generatepreferencesvotes: preferences for agentid agentvotes in enumeratevotes start: # Ensure agentvotes is a list before sorting agentvoteslist listagentvotes # Convert to list if necessary # Sort indices based on values in agentvotes, breaking ties with original order orderedindices sortedrangelenagentvoteslist keylambda i: agentvoteslisti i # Obtain ordered preferences from sorted indices orderedpreferences for index in orderedindices: orderedpreferences.appendindex # Add to align with based indexing preferencesagentid orderedpreferences return preferences
# Function to read data from an Excel file
def readexcelfilepath, sheetnameNone:
try:
workbook openpyxl.loadworkbookfilepath
if sheetname:
activesheet workbooksheetname
else:
activesheet workbook.active
data
for row in activesheet.iterrowsminrow valuesonlyTrue:
rowdata cellvalue for cellvalue in row
data.appendrowdata
return data
except FileNotFoundError:
printFile not found. Please provide a valid file path."
return
except Exception as e: # Catch broader errors
printfAn error occurred: e
return
# Function to generate preferences based on votes
def generatepreferencesvotes:
preferences
for agentid agentvotes in enumeratevotes start:
# Ensure agentvotes is a list before sorting
agentvoteslist listagentvotes # Convert to list if necessary
# Sort indices based on values in agentvotes, breaking ties with original order
orderedindices sortedrangelenagentvoteslist keylambda i: agentvoteslisti i
# Obtain ordered preferences from sorted indices
orderedpreferences
for index in orderedindices:
orderedpreferences.appendindex # Add to align with based indexing
preferencesagentid orderedpreferences
return preferences
Step by Step Solution
There are 3 Steps involved in it
Step: 1
Get Instant Access with AI-Powered Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started