Domanda

Esiste un modo per accedere all'oggetto file utilizzato da un oggetto writer / reader CSV dopo che è stato istanziato? Ho aperto il modulo CSV e sembra che il contest sia integrato. Ho anche provato a impostare l'oggetto file come proprietà ma ottengo il seguente errore:

AttributeError: '_csv.writer' object has no attribute 'fileobj'
È stato utile?

Soluzione

csv.writer è un " builtin " funzione. Cioè, è scritto in codice C compilato anziché in Python. Quindi le sue variabili interne non sono accessibili dal codice Python.

Detto questo, non sono sicuro perché dovresti ispezionare l'oggetto csv.writer per scoprire l'oggetto file. Tale oggetto viene specificato durante la creazione dell'oggetto:

w = csv.writer(fileobj, dialect, ...)

Quindi, se è necessario accedere a quell'oggetto in un secondo momento, è sufficiente salvarlo in un'altra variabile.

Altri suggerimenti

Da quello che posso dire, non esiste un modo semplice per estrarre l'oggetto file dopo averlo inserito in un oggetto CSV. Il mio approccio sarebbe probabilmente quello di sottoclassare lo scrittore e i lettori CSV che stai usando in modo che possano portare con sé quei dati. Naturalmente, ciò presuppone la capacità di poter accedere direttamente ai tipi di classi che la funzione factory produce (tra le altre cose).

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top