Sto usando xlrd, xlwt e xlutils sul sistema operativo Windows Vista con Python 2.7. Ho un set di sequenze di DNA in un foglio di lavoro Excel di 100 caratteri, con ogni sequenza in una singola cella. Sto cercando di evidenziare i caratteri in posizioni specifiche all'interno di ciascuna di queste sequenze in Excel (in grassetto o cambia colore), ma non ho trovato un modo per formattare i singoli caratteri all'interno di una cella. Applicare uno stile lo applica all'intera cella a mia conoscenza. Quindi sto cercando di suddividere le sequenze in singoli componenti dove alcune parti della sequenza saranno modificate con uno stile mentre altre no, e per poi ricomporle insieme in una singola stringa in una singola cella.Formatta singoli caratteri in una singola cella Excel con python
Codice:
rb = open_workbook('Mybook', formatting_info=True) rs = rb.sheet_by_index(0) wb = copy(rb) ws = wb.get_sheet(0) minus35style = xlwt.easyxf('font: bold 1') # style I'd like for just one character for b in range(0, 368, 1): rscellin = rs.cell(b,9) f = rscellin.value tominus35 = str(f[0:34]) minus35 = str(f[35:36]) ws.write(b, 14, tominus35) ws.write(b, 14, minus35, minus35style) wb.save('Mybook')
Il mio problema è che l'aggiunta di uno stile cambia tutta la cella, e voglio solo alcuni caratteri da modificare. Inoltre, la successiva scrittura sulla stessa cella sovrascrive quello che c'era in precedenza. C'è un modo per modificare singoli caratteri in una singola cella o per aggiungere un testo formattato in modo diverso a una cella esistente che contiene già del testo?
Per favore fatemi sapere se avete bisogno di ulteriori informazioni che ho trascurato. Apprezzo molto il tuo tempo.
Brett
John Y, questo è esattamente quello che stavo cercando. Lo ha implementato e ha funzionato come un fascino. Grazie per la tua esperienza. Saluti! –