1

Extract contingencies for dfax file?

Hi all? I want to know if exists a way to extract the name of the contingencies from a dfax files. I have a dfax file, and I'm lookig for an API that give the contingencies in a variable. Is this possible?


Well I took the code that Jervis wrote and did a little change.

With Jervis'code I got this answer ["'S1'\n", "'S2'\n", "'S3'\n", "'S4'\n", "'S5'\n", "'S6'\n", "'S7'\n", "'S8'\n", "'S9'\n", "'S10'\n", "'S11'\n", "'S12'\n", "'S13'\n", "'S14'\n", "'S15'\n", "'S16'\n", "'S17'\n", "'S18'\n", "'S19'\n", "'S20'\n", "'S21'\n", "'S22'\n", "'S23'\n", "'S24'\n", "'S25'\n", "'S26'\n", "'S27'\n", "'S28'\n", "'S30'\n", "'S31'\n", "'S32'\n"]

With the changed code I got what I really need: ['S1', 'S2', 'S3', 'S4', 'S5', 'S6', 'S7', 'S8', 'S9', 'S10', 'S11', 'S12', 'S13', 'S14', 'S15', 'S16', 'S17', 'S18', 'S19', 'S20', 'S21', 'S22', 'S23', 'S24', 'S25', 'S26', 'S27', 'S28', 'S30', 'S31', 'S32']

Here is the code:

contingency_names = []
with open('Contingencias_SER_EMT2012_SAL2.con') as confile:

    for line in confile:
        if line.strip().lower().startswith('contingency'):
        # assumes the last word on the line is the contingency name.
            words = line.split(' ')
            name = words[-1]
            contingency_names.append(name)
            contingency_ID = []
            for contingency_name in contingency_names:
                contingency_ID.append(contingency_name[1:-2])

print "\n contingency_ID = ", contingency_ID
waltterval's avatar
155
waltterval
asked 2012-08-14 09:39:21 -0500, updated 2012-08-16 10:08:21 -0500
edit flag offensive 0 remove flag close merge delete

Comments

I couldn't find one either. Can you read the contingencies from the `.con` file instead?

JervisW's avatar JervisW (2012-08-14 09:58:09 -0500) edit

@JervisW Actually what I need is a eassy way to extract the name of my contingencies that are in .con file? Any idea?

waltterval's avatar waltterval (2012-08-14 10:23:55 -0500) edit
add a comment see more comments

1 Answer

1

Here is a simple script to get the contingencies names from a .con file:

contingency_names = []
with open('contingency.con') as confile:

 for line in confile:

   if line.strip().lower().startswith('contingency'):

     # assumes the last word on the line is the contingency name.
     words = line.split(' ')
     name = words[-1]

     contingency_names.append(name)

print contingency_names

I've assumed that your file looks a bit like this:

CONTINGENCY firstcontingency
REMOVE UNIT 3 FROM BUS 20002
END
CONTINGENCY somethingelse
...

The script wont work if:

  1. You have spaces in your contingency names
  2. There is text on the CONTINGENCY line other than the word CONTINGENCY and the contingency name

Does it work for you?

JervisW's avatar
1.3k
JervisW
answered 2012-08-15 06:59:08 -0500
edit flag offensive 0 remove flag delete link

Comments

@JervisW I will check it and i'll let you know if work as I need. Thanks

waltterval's avatar waltterval (2012-08-15 17:31:32 -0500) edit

@JervisW I did a little change to your script, I updated my question to post the final code. Thank you

waltterval's avatar waltterval (2012-08-16 10:03:19 -0500) edit
add a comment see more comments

Your Answer

Login/Signup to Answer