Pourquoi cela me donne-t-il une valeur flottante dans la deuxième colonne et crée-t-il deux lignes?

Mon code ouvre un classur Excel et copy les deux premières lignes des 4 premières feuilles du classur.

Avec ce code, il produit 5 colonnes différentes lorsque vous faites reference à la sortie souhaitée, je souhaite qu'elle soit 2 colonnes différentes.

Une autre chose que je ne comprends pas, c'est la raison pour laquelle la 3ème et la 4ème colonne sont un flotteur. Pourquoi cela fait-il un flotteur?

J'ai essayé de créer une meilleure question parce que mes autres questions n'ont pas été bien reçues, donc si vous avez des commentaires utiles.

workbook = xlrd.open_workbook('input.xlsx') data = [] for i in range (0,5): sheet = workbook.sheet_by_index(i) data.append([sheet.cell_value(row, 0) for row in range(sheet.nrows)]) data.append([sheet.cell_value(row, 1) for row in range(sheet.nrows)]) transposed = zip(*data) with open('file.txt','w') as fou: writer = csv.writer(fou, delimiter='\t') for row in transposed: writer.writerow(row) 

Sortie:

 F800 00 F8C8 32.0 F804 01 F8CC 33.0 F808 02 F8D0 34.0 F80C 03 F8D4 35.0 F810 04 F8D8 36.0 F814 05 F8DC 37.0 F818 06 F8E0 38.0 

Sortie souhaitée:

 F800 00 F804 01 F808 02 F80C 03 F810 04 F814 05 F818 06 F81C 07 F8C8 32 F8CC 33 F8D0 34 F8D4 35 F8D8 36 F8DC 37 F8E0 38 

Essaye ça:

 data = [[], []] for i in range (0,5): sheet = workbook.sheet_by_index(i) data[0].extend([sheet.cell_value(row, 0) for row in range(sheet.nrows)]) data[1].extend([sheet.cell_value(row, 1) for row in range(sheet.nrows)]) transposed = zip(*data) with open('file.txt','w') as fou: writer = csv.writer(fou, delimiter='\t') for row in transposed: writer.writerow(row) 

data été initialisées pour contenir 2 lists vides. Les lists sont étendues dans la boucle for . Cela devrait vous donner le nombre correct de colonnes de sortie.

Pour le problème de la valeur du flotteur, Excel stocke datatables numériques en tant que flotteurs (pas d'input). Ainsi, avant d'exporter, vous devrez peut-être utiliser les fonctionnalités de mise en forme Excel pour éliminer les décimales ou convertir les nombres en text.

J'espère que cela pourra aider.