1
votes

Comment écrire une liste dans une cellule Excel en utilisant Python

ceci est ma liste

with open('commentafterlink.csv', 'w') as f:


     f.write("%s\n" % list)

lorsque vous utilisez ce code

list=['a','b','c']

il stocke chaque jeton de liste dans une seule cellule mais j'ai besoin pour stocker toute la liste dans une cellule.Où est le problème?


1 commentaires

recherchez join ()


3 Réponses :


1
votes

Pouvez-vous essayer ce qui suit:

import xlwt 
from xlwt import Workbook 
# Workbook is created 
wb = Workbook() 

# add_sheet is used to create sheet. 
sheet1 = wb.add_sheet('Sheet 1') 
# sheet1.write(1, 0, ' '.join(list)) 
# if you want the output to be ['a','b','c']
sheet1.write(1, 0, str(list)) 
wb.save('xlwt example.xls') 

Sortie:

entrez la description de l'image ici


0 commentaires

0
votes

Utilisation de join () :

import xlsxwriter

lst=['a','b','c']                                        # avoid using list keyword   
workbook = xlsxwriter.Workbook('commentafterlink.xlsx')  # create/read the file
worksheet = workbook.add_worksheet()                     # adding a worksheet
worksheet.write('A1', repr(lst))                         # write repr(lst) to cell A1
workbook.close()                                         # close the file

OUTPUT :

 entrez la description de l'image ici

MODIFIER strong >:

Utilisation de repr () code> :

lst=['a','b','c']
with open('commentafterlink.csv', 'w') as f:
 f.write("%s\n" % "".join(lst))

OUTPUT :

 out p >


1 commentaires

la sortie doit être: ['a', 'b', 'c'] pas abc



0
votes

1) Vous n'écrivez pas un fichier Excel, mais un fichier CSV (qu'Excel sait importer).

2) Vous écrivez dans le fichier CSV comme s'il s'agissait d'un fichier texte, sans respecter la sémantique de CSV. CSV signifie "valeurs séparées par des virgules" . S'il contient le texte ['a', 'b', 'c'] , il sera interprété comme trois colonnes: ['a' et ' b ' et ' c '] . Vous auriez besoin de citer la valeur pour faire les choses correctement; le guillemet par défaut dans CSV est un guillemet double. Donc, si vous écrivez "['a', 'b', 'c']" , cela sera importé dans Excel comme une seule cellule. Cependant,

3) Vous écrivez un fichier CSV à la main, ce qui signifie qu'il est très facile de se tromper de format (par exemple, oublier d'échapper à quelque chose qui doit être échappé). En général, chaque fois que vous écrivez un fichier avec un format établi, il vaut la peine de vérifier si le format a une bibliothèque qui sait comment le gérer. Python sait nativement écrire des fichiers CSV à l'aide du module csv , et il sait comment écrire des fichiers Excel à l'aide de packages que vous pouvez installer en utilisant pip , tels que xlwt .

Voici comment rédiger correctement un fichier CSV:

my_list = ['a', 'b', 'c']

import csv
with open('commentafterlink.csv', 'w') as w:
    writer = csv.writer(w)
    writer.writerow([str(my_list)])

Remarque: C'est une mauvaise chose pour écraser les variables intégrées de Python, telles que list.

(Je vois qu'un autre répondeur vous a déjà fourni la solution spécifique à Excel en utilisant xlwt . )


0 commentaires