Supposons que j'ai A1 comme seule cellule dans un classeur, et il est vide. Je veux que mon code pour ajouter « 1 » « 2 » et « 3 » pour elle il dit « 1 2 3 »python ajouter des données à la cellule Excel existante Win32com
A partir de maintenant je:
NUMBERS = [1, 2, 3, 4, 5]
ThisSheet.Cells(1,1).Value = NUMBERS
ce écrit que la première valeur à la cellule. J'ai essayé
ThisSheet.Cells(1,1).Value = Numbers[0-2]
mais cela met juste la DERNIERE valeur dedans là. Y a-t-il un moyen pour moi d'ajouter simplement toutes les données? Cette information sera toujours au format String, et j'ai besoin d'utiliser Win32Com.
mise à jour: j'ai fait
stringVar = '' .join (str (v) v dans la liste)
MISE À JOUR: ce .join fonctionne parfaitement pour la liste des numéros. Maintenant, j'ai essayé de l'attribuer à une autre liste qui ressemble à ceci
LIST=[Description Good\nBad, Description Valid\nInvalid]
Si j'imprimer la liste [0] Le résultat est
Description Good
Bad
qui est ce que je veux. Mais si j'utilise .join sur celui-ci, il imprime
('Description Good\nBad, Description Valid\nInvalid')
donc pour celui-ci je besoin pour imprimer comme si je l'ai fait la liste [0] et LIST [1]
Si vous voulez toutes les valeurs de NUMBERS alors vous semblez avoir besoin de 'ThisSheet.Cells (1,1) .Value = '' .join ([str (_) pour _ dans NUMBERS])'. Si vous voulez juste les trois premières valeurs alors utilisez 'ThisSheet.Cells (1,1) .Value = '' .join ([str (_) pour _ dans NUMBERS [: 3]])'. –
C'est essentiellement ce que j'ai fait avec mon stringVar, et cela fonctionne, sauf qu'il imprime les caractères spéciaux au lieu de seulement les éléments de la liste. Donc, il imprime \ n au lieu de l'écrire sur une nouvelle ligne. Il imprime également ('au début et') à la fin de chaque article. – nico
Ne peut pas aider alors puisque je n'ai pas Excel. –