Python Forum
Help with to check an Input list data with a data read from an external source
Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Help with to check an Input list data with a data read from an external source
#4
Maybe something like this is what you are looking for?

Your Excel file is much longer than the csv!

import pandas as pd
import csv

# open the XL file
xl_file = '/home/pedro/myPython/pandas/xl_files/Sample_ Input_ File.xlsx'
dfXL = pd.read_excel(xl_file) # 402 rows
# columns = list(dfXL) # ['Disp', 'Voltage 1', 'Voltage 2', 'Logic']

# open the csv
csv_file = '/home/pedro/myPython/pandas/csv_files/sample _read_ displacement.csv'
dfcsv = pd.read_csv(csv_file) # 190 rows 1 column called Displacement

"""
2. A displacement value is then read from a daq and is then checked against the Disp value in the data frame.
The comparison is based on the Logic column which is either <= or >=.
The check will occur row by row for the input data frame.

3. please keep in mind that once a line/row is checked in the data frame it should not be checked again.

4. when the logical check returns false the Voltage values (Voltage 1 and Voltage 2) are returned as outputs.
i.e if my read displacement is checked at the ith line that it is not <= the Disp value in the ith line
then my output will be Voltage 1 and Voltage 2 from (i-1)th line..
"""

def getVoltsLess(n):
    if dfcsv['Displacement'][n] <= dfXL['Disp'][n]: # True
        print(f'Measured voltage {dfcsv["Displacement"][num]} <= required volts {df["Disp"][num]}')
        return (0, dfcsv['Displacement'][n])
    else: # False
        print(f'Measured voltage {dfcsv["Displacement"][num]} > required volts {df["Disp"][num]}')
        return (dfXL['Voltage 1'][n], dfXL['Voltage 2'][n]) 

def getVoltsMore(n):
    if dfcsv['Displacement'][n] >= dfXL['Disp'][n]: # True
        print(f'Measured voltage {dfcsv["Displacement"][num]} > required volts {dfXL["Disp"][num]}')
        return (0, dfcsv['Displacement'][n])
    else: # False
        print(f'Measured voltage {dfcsv["Displacement"][num]} < required volts {dfXL["Disp"][num]}')
        return (dfXL['Voltage 1'][n], dfXL['Voltage 2'][n]) 

# just repeat this loop in a loop to do it all again 3 times
for num in dfcsv.index:
    if dfXL['Logic'][num] == '<=':
        volts = getVoltsLess(num)
        print(f'Logic is {logic}, volts are {volts}')
    elif dfXL['Logic'][num] == '>=':
        volts = getVoltsMore(num)
        print(f'Logic is {logic}, volts are {volts}')
Reply


Messages In This Thread
RE: Help with to check an Input list data with a data read from an external source - by Pedroski55 - Mar-09-2024, 12:33 PM

Possibly Related Threads…
Thread Author Replies Views Last Post
  PyYAML read list of int zisco 2 391 Apr-02-2024, 12:36 PM
Last Post: zisco
  difference between forms of input a list to function akbarza 6 1,160 Feb-21-2024, 08:02 PM
Last Post: bterwijn
  [solved] list content check paul18fr 6 832 Jan-04-2024, 11:32 AM
Last Post: deanhystad
  manually input data jpatierno 0 375 Nov-10-2023, 02:32 AM
Last Post: jpatierno
  Input network device connection info from data file edroche3rd 6 1,171 Oct-12-2023, 02:18 AM
Last Post: edroche3rd
  How to read module/class from list of strings? popular_dog 1 537 Oct-04-2023, 03:08 PM
Last Post: deanhystad
Question in this code, I input Key_word, it can not find although all data was exact Help me! duchien04x4 3 1,125 Aug-31-2023, 05:36 PM
Last Post: deanhystad
  Correctly read a malformed CSV file data klllmmm 2 2,094 Jan-25-2023, 04:12 PM
Last Post: klllmmm
  user input values into list of lists tauros73 3 1,126 Dec-29-2022, 05:54 PM
Last Post: deanhystad
  Read nested data from JSON - Getting an error marlonbown 5 1,478 Nov-23-2022, 03:51 PM
Last Post: snippsat

Forum Jump:

User Panel Messages

Announcements
Announcement #1 8/1/2020
Announcement #2 8/2/2020
Announcement #3 8/6/2020