Please help with script...

Robert Oelschlaeger roelsch at acm.org
Tue Jun 4 07:53:24 CEST 2002


"Topy" <hobiewon at hotmail.com> wrote in message
news:adheqc$nhn$1 at netnews.upenn.edu...
> Hey all,
> I'm having trouble with a problem I have with this python program.  It's
> kind of long, so if anyone has the patience, I would gladly appreciate
your
> time(the programming is fairly simple I think.)  Anyway, the problem I
need
> to do is this :
<SNIP>

> It's not much, but I'm not sure where to go from here...can anyone help?
>
> Thanks so much!
> Topy

This might get you started; the worksheet is left open for you to examine
and save via the File menu -- Bob

#!/cygdrive/c/Python22/./python
# vim:ts=4:sw=4:et

def main():
    ProductID = int(raw_input("Please enter the ProductID: "))
    OrderQty = int(raw_input("Please enter the cutoff order quantity: "))
#   CSV = open('a:/sales.txt', 'r')
    CSV = open('sales.txt', 'r')

    import win32com.client
    xl = win32com.client.Dispatch('Excel.Application')
    xl.Visible=1
    xl.Workbooks.Add()

    # start at the top of the worksheet
    xl.Range("A1").Select()

    # report selection parameters and skip a line
    xl.Range("A1:B1").Value = ("ProductID:", ProductID)
    xl.Range("A2:B2").Value = ("OrderQty:", OrderQty)
    xl.ActiveCell.Offset(4).Activate()

    # fill in the column headers
    xl.ActiveCell.Range("A1:E1").Value = ("OrderID", "OrderDate",
"RegionID", "ProductID", "OrderQty")
    xl.ActiveCell.Offset(2).Activate()

    # process each line in the CSV file
    for line in CSV.readlines():
        # remove trailing \n
        line = line.rstrip()

        # get the raw data as strings
        inOrderID, inOrderDate, inRegionId, inProductId, inOrderQty =
line.split(",")

        # is this item one that is interesting?
        if int(inProductId) == ProductID:
            if int(inOrderQty) >= OrderQty:
                # write the input data to the output file
                xl.ActiveCell.Range("A1:E1").Value = (inOrderID,
inOrderDate, inRegionId, inProductId, inOrderQty)
                # and activate the next line
                xl.ActiveCell.Offset(2).Activate()


if __name__ == "__main__":
    main()







More information about the Python-list mailing list