
Originariamente inviata da
optime
e allora non capisco la domanda: continuerai a farlo da codice

scusa ma non capisco le domande tue allora
.
io da codice creo un csv lanciando quella query.
ma crea un csv prendendo in automatico i campi che mi tira fuori dandogli quella struttura.
qui eseguo la query:
codice:
from utils import *
def fatture():
cmd = """
SELECT 'T' TESTATA,
TRIM(CONTO) CODICE_CLIENTE,
MD.NPUDSTF NPU,
TRIM(MD.NUMERAT_C4) TIPO_DOC,
TRIM(MD.SERIE_C4)
|| '/'
|| TRIM(MD.NUM_C4)
|| '/'
|| TRIM(MD.PERIODO_C4) NUM_DOC,
MD.DATDOC DATA_DOCUMENTO,
'R' RIGA,
TRIM(MD.NPAM) NPAM,
MD.QUANTI QTA,
MD.SCONTO1 SC1,
MD.SCONTO2 SC2,
MD.SCONTO3 SC3,
MD.PREZZO PREZZO_UNI,
MD.IMPORTO IMP_RIGA
FROM MOV_MAG_DETT MD
WHERE MD.FVL = ' '
AND MD.DITTA = 'XXL'
AND MD.CONTO = 'CLMT500532'
AND MD.NUMERAT_C4 IN ('NF', 'NC')
AND TRIM(MD.SERIE_C4)
|| '/'
|| TRIM(MD.NUM_C4)
|| '/'
|| TRIM(MD.PERIODO_C4) = 'V1/111/2222' ;
"""
create_csv('fatture.csv', cmd)
qui creo il csv:
codice:
import pyodbc
import csv
def conn():
cnxn = pyodbc.connect("...........")
return cnxn
def create_csv(nome, cmd):
cursor = conn().cursor()
rows = cursor.execute(cmd)
with open('csv/' + nome, 'w', newline='') as csvfile:
writer = csv.writer(csvfile, delimiter=';')
for row in rows:
writer.writerow(row)
ora la mia domanda è: è possibile strutturare la query per dare un'altra struttura al csv senza toccare la funzione create_csv??
oppure devo cambiare la struttura della funzione??
come vedi questa funzione si limita a prendere i campi e metterli nel file.
invece a me serve un'altra struttura csv.
da qui la domanda sopra.