[Tutor] help--- opening csv in different functions

leon zaat zaatlob at hotmail.com
Fri Aug 10 12:02:57 CEST 2012


I am trying to fill a file. 
When i am start the leading fuction the file schould be overwriting the , probarly, existing csv file.
Accoording from keys from different keys in my sql files, information is collected and written in a other function.

I tried something like this 
<code>
class BAGExtractPlus(wx.Frame):
..........
    #------------------------------------------------------------------------------
    # schrijven van de records
    #------------------------------------------------------------------------------
    def schrijfExportRecord(self,identificatie, hoofdadres, verblijfobjectgeometrie, dag):
    
        ofile=open(r'D:\bestanden\BAG\adrescoordinaten.csv', 'wa')

        verblijfhoofd = csv.writer(ofile, delimiter=',',

                quotechar='"', quoting=csv.QUOTE_NONNUMERIC)
        sql1="";
        sql1="Select huisnummer, huisletter, huisnummertoevoeging, postcode, gerelateerdeopenbareruimte  from nummeraanduiding "
        sql1a= "where aanduidingrecordinactief<> 'J' and"
        hsql1=" einddatum > '" +  dag + "' and identificatie = '" + hoofdadres + "'";
        sql1= sql1 + sql1a + hsql1;
        num= database.select(sql1);
        for row in num:
            huisnummer=row[0];
            huisletter=row[1];
            huisnummertoevoeging=row[2];
            postcode=row[3];
            gerelateerdeopenbareruimte=row[4];
            sql2="Select openbareruimtenaam, gerelateerdewoonplaats  from openbareruimte where aanduidingrecordinactief<> 'J'"
            sql2= sql2 + "and  einddatum > '" +  dag + "' and identificatie = '" +  gerelateerdeopenbareruimte + "'";
            opn=database.select(sql2);
            for row in database.select(sql2):
                openbareruimtenaam=row[0];
                gerelateerdewoonplaats=row[1];
                sql3="Select woonplaatsnaam  from woonplaats where aanduidingrecordinactief<> 'J'"
                sql3= sql3 + "and  einddatum > '" +  dag + "' and identificatie = '" +  gerelateerdewoonplaats + "'";
                wpl=database.select(sql3);
                for row in wpl:
                    woonplaatsnaam=row[0];
                    newrow=[identificatie, verblijfobjectgeometrie, huisnummer, huisletter, huisnummertoevoeging, postcode,openbareruimtenaam, woonplaatsnaam];
                    verblijfhoofd.writerow(newrow);

        del wpl[:];
        del opn[:];
        del num[:];
     
    #--------------------------------------------------------------------------------------
    # Exporteer benodigde gegevens
    #--------------------------------------------------------------------------------------
    def ExportBestanden(self, event):
        
        ofile=open(r'D:\bestanden\BAG\adrescoordinaten.csv', 'wb')
        verblijfhoofd = csv.writer(ofile, delimiter=',',
                quotechar='"', quoting=csv.QUOTE_NONNUMERIC)
        dag=str(datetime.date.today());
        sql4="Select adresseerbaarobjectnevenadres.identificatie, adresseerbaarobjectnevenadres.nevenadres from adresseerbaarobjectnevenadres where aanduidingrecordinactief<> 'J' order by adresseerbaarobjectnevenadres.identificatie"
        neven= database.select(sql4);
        for row in neven: 
            nidentificatie=row[0];
            nevenadres=row[1];

            sql="Select identificatie, hoofdadres, ligplaatsgeometrie  from ligplaats where aanduidingrecordinactief<> 'J' and einddatum >'" + dag + "' and identificatie = '"+ nidentificatie + "'"
            lig= database.select(sql);
            for row in lig:
                hoofdadres=nevenadres;
                identificatie=row[0];
                verblijfobjectgeometrie=row[2];
                self.schrijfExportRecord(identificatie, hoofdadres, verblijfobjectgeometrie, dag)
        sql="Select identificatie, hoofdadres, verblijfsobjectgeometrie  from verblijfsobject where aanduidingrecordinactief<> 'J' and einddatum >'" + dag + "' and identificatie = '"+ nidentificatie + "'"
            vbo= database.select(sql);
            for row in vbo:
                hoofdadres=row[1];
                identificatie=row[0];
                verblijfobjectgeometrie=row[2];
                self.schrijfExportRecord(identificatie, hoofdadres, verblijfobjectgeometrie, dag)
            sql="Select identificatie, hoofdadres, standplaatsgeometrie  from standplaats where aanduidingrecordinactief<> 'J' and einddatum >'" + dag + "' and identificatie = '"+ nidentificatie + "'"
            stand= database.select(sql);
            for row in stand:
                hoofdadres=nevenadres;
                identificatie=row[0];
                verblijfobjectgeometrie=row[2];
                self.schrijfExportRecord(identificatie, hoofdadres, verblijfobjectgeometrie, dag)
        del stand[:];
        del vbo[:];    
        del lig[:];
        del neven[:];
        sql="Select identificatie, hoofdadres, ligplaatsgeometrie  from ligplaats where aanduidingrecordinactief<> 'J' and einddatum >'" + dag + "'"
        lig= database.select(sql);
        for row in lig:
            hoofdadres=row[1];
            identificatie=row[0];
            verblijfobjectgeometrie=row[2];
            self.schrijfExportRecord(identificatie, hoofdadres, verblijfobjectgeometrie, dag)
        del lig[:];
        sql="Select identificatie, hoofdadres, standplaatsgeometrie  from standplaats where aanduidingrecordinactief<> 'J' and einddatum >'" + dag + "'"
        stand= database.select(sql);
        for row in stand:
            hoofdadres=row[1];
            identificatie=row[0];
            verblijfobjectgeometrie=row[2];
            self.schrijfExportRecord(identificatie, hoofdadres, verblijfobjectgeometrie, dag)
        del stand[:];   
</code>

The seems to work, but after 200.00 entries i got the message that opening is not allowed.

What i am doing wrong?
Is there a way to open the file once.
When i  didn't open it in the first part, it said it couldn't find the file.  
 		 	   		  
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/tutor/attachments/20120810/53e71df7/attachment.html>


More information about the Tutor mailing list