Python Lancer “'utf8' codec ne peut pas décoder les octets 0xd0 en position 0,” Erreur
Je suis en train de charger une feuille de calcul existante et importer le fichier texte (valeurs séparées par des virgules) capture d'écran illustré ci-dessous,
Feuille De Calcul Excel:
Fichier Texte:
Je suis en utilisant le code ci-dessous:
# importing necessary modules for performing the required operation
import glob
import csv
from openpyxl import load_workbook
import xlwt
#read the text file(s) using the CSV modules and read the dilimiters and quoutechar
for filename in glob.glob("E:\Scripting_Test\Phase1\*.txt"):
spamReader = csv.reader((open(filename, 'rb')), delimiter=',')
#read the excel file and using xlwt modules and set the active sheet
wb = load_workbook(filename=r"E:\Scripting_Test\SeqTem\Seq0001.xls")
ws = wb.worksheets(0)
#write the data that is in text file to excel file
for rowx, row in enumerate(spamReader):
for colx, value in enumerate(row):
ws.write(rowx, colx, value)
wb.save()
J'obtiens un message d'erreur suivantes:
UnicodeDecodeError: 'utf8' codec ne peut pas décoder les octets 0xd0 en position 0: non valide la poursuite de l'octet
Encore une question: Comment pouvez-vous dire à python pour importer les données de texte à partir de A3 colonne de la feuille excel?
OriginalL'auteur Raj | 2013-10-01
Vous devez vous connecter pour publier un commentaire.
Codage Unicode me confond, mais ne peut pas vous forcer la valeur de l'ignorer non valide octets en disant:
Ici est une grande réponse pour plus de lecture sur unicode: unicode().decode('utf-8', 'ignore') la collecte de UnicodeEncodeError
OriginalL'auteur
openpyxl ne traite qu'avec les OOXML (format xlsx/xlsm).
S'il vous plaît essayer de l'enregistrer en tant que format de fichier xlsx au lieu de xls en utilisant Excel.
Si vous voulez convertir un fichier xls en xlsx dans les codes. S'il vous plaît essayer une option à partir de la liste ci-dessous:
OriginalL'auteur
Hi Êtes-vous sûr que vous n'avez pas un doc qui a UTF-8 BOM
Vous pouvez essayer en utilisant avec UTF-8 BOM codec. Généralement Windows+UTF+8 peut être un peu gênant. Bien que ce caractère, qu'il est peut-être pas la NOMENCLATURE.
OriginalL'auteur