dimanche 4 mars 2018

if statement syntax when comparing strings

I am trying to read excel data and write it to .raw file. I have a situation where several items have no entry in excel cells and this writes 'nan' values in .raw file.

I tried to overcome this problem by introducing if statement for N2 column, but I keep getting an error. The code I am having is below:

import numpy as np
import pandas as pd

file_name='File_path'

# read switched shunt tab from excel file
switched_shunt_data = pd.read_excel(file_name, header=0, sheetname='Switchable Shunts')


# print shunts data
with open('raw_filegg1.raw','w') as f:
    for k in range(len(switched_shunt_data['I'])):
        f.write('{:>2},'.format(switched_shunt_data['N1'][k]) + \
                '{:>8},'.format(switched_shunt_data['B1'][k]) + \
                if switched_shunt_data['N2'][k] == switched_shunt_data['N2'][k]:
                    '{:>2},'.format(switched_shunt_data['N2'][k]))
                '{:>2},'.format(switched_shunt_data['N2'][k]) + \
                '{:>8},'.format(switched_shunt_data['B2'][k]) + \
                '{:>2},'.format(switched_shunt_data['N3'][k]) + \
                '{:>8},'.format(switched_shunt_data['B3'][k]) + \
                '{:>2},'.format(switched_shunt_data['N4'][k]) + \
                '{:>8},'.format(switched_shunt_data['B4'][k]) + \
                '{:>2},'.format(switched_shunt_data['N5'][k]) + \
                '{:>8},'.format(switched_shunt_data['B5'][k]) + \
                '{:>2},'.format(switched_shunt_data['N6'][k]) + \
                '{:>8},'.format(switched_shunt_data['B6'][k]) + \
                '{:>2},'.format(switched_shunt_data['N7'][k]) + \
                '{:>8},'.format(switched_shunt_data['B7'][k]) + \
                '{:>2},'.format(switched_shunt_data['N8'][k]) + \
                '{:>8}'.format(switched_shunt_data['B8'][k]) + '\n')

    f.close()

Aucun commentaire:

Enregistrer un commentaire