-5
votes

Convertissez le dictionnaire en fichier XLS à l'aide de Python OpenPyxl Library

ci-dessous est mon dictionnaire et je veux écrire la paire de la valeur de clé de la clé dans une feuille Excel dans deux colonnes nommées clé code> et horaire code>.

**Key**                   **Hourly**
Australia Central 2        0.008
East US 2                  0.00605
North Central US           0.00605


2 commentaires

Pouvez-vous s'il vous plaît fournir une sortie d'échantillon au format correct, quels doivent être les noms de colonne, non de colonnes, etc.


Merci pour votre commentaire mais j'ai résolu ma question.


3 Réponses :


0
votes

Essayez ce code. Cela fonctionne bien!

# Writing to an excel 
# sheet using Python 
import xlwt 
from xlwt import Workbook 

# Workbook is created 
wb = Workbook() 

#dictionary
sample_data= {
    'Australia Central 2': 0.0097,
    'East US 2': 0.00605,
    'North Central US': 0.00605,
    'South Africa West': 0.01016,
    'UK West': 0.00685,
    'France South': 0.01119,
    'Korea': 0.00639,
    'Canada East': 0.00685,
    'US Gov Virginia': 0.00879,
    'East Asia': 0.0097,
    'South India': 0.01005,
    'South Central US': 0.00731,
    'West US': 0.00719,
    'Australia East': 0.00776,
    'Canada Central': 0.00674,
    'Australia Southeast': 0.00776,
    'Southeast Asia': 0.00776,
    'Central US': 0.00731,
    'West India': 0.00833,
    'East US': 0.00605,
    'Australia Central': 0.0097,
    'UK South': 0.00685,
    'Japan East': 0.00799,
    'Japan West': 0.00879,
    'West Europe': 0.00696,
    'Brazil South': 0.00982,
    'Korea Central': 0.00799,
    'US Gov Texas': 0.00879,
    'US Gov Arizona': 0.00879,
    'Central India': 0.00833,
    'North Europe': 0.00822,
    'West Central US': 0.00731,
    'France Central': 0.00856,
    'South Africa North': 0.00811,
    'West US 2': 0.00605
  }

# add_sheet is used to create sheet. 
sheet1 = wb.add_sheet('Sheet 1') 

#general syntax
#sheet1.write(column, row, value) 

sheet1.write(0, 0, 'Key') 
sheet1.write(1, 0, 'Hourly') 

row = 1
#iterate the each key-value pair of dictionary & insert into sheet
for k, v in dict.items():
    sheet1.write(0, row, k) 
    sheet1.write(1, row, v) 
    row = row + 1

wb.save('xlwt example.xls') 


1 commentaires

Mention non! @Vinitjha veuillez donner le coup de contrôle à la réponse.



0
votes
import csv
one_year_reserved = {
        'australia-central': 0.0097,
        'usgov-virginia': 0.00879,
        'us-south-central': 0.00731,
        'france-south': 0.01119,
        'us-west': 0.00719,
        'europe-north': 0.00822,
        'asia-pacific-east': 0.0097,
        'japan-east': 0.00799,
        'west-india': 0.00833,
        'united-kingdom-west': 0.00685,
        'usgov-arizona': 0.00879,
        'brazil-south': 0.00982,
        'australia-east': 0.00776,
        'us-west-2': 0.00605,
        'asia-pacific-southeast': 0.00776,
        'south-india': 0.01005,
        'us-central': 0.00731,
        'us-east-2': 0.00605,
        'south-africa-west': 0.01016,
        'canada-central': 0.00674,
        'south-africa-north': 0.00811,
        'canada-east': 0.00685,
        'us-east': 0.00605,
        'korea-south': 0.00639,
        'united-kingdom-south': 0.00685,
        'europe-west': 0.00696,
        'japan-west': 0.00879,
        'australia-southeast': 0.00776,
        'us-west-central': 0.00731,
        'us-north-central': 0.00605,
        'central-india': 0.00833,
        'korea-central': 0.00799,
        'usgov-texas': 0.00879,
        'france-central': 0.00856,
        'australia-central-2': 0.0097
    }


with open('output2.csv', 'wb') as output:
    writer = csv.writer(output)
    for key, value in one_year_reserved.items():
        writer.writerow([key, value])

1 commentaires

... cela n'utilise pas OpenPycYXL, bien que ....



3
votes

Voici une solution qui fonctionne avec Python 3.6+, car elle utilise des chaînes F. énumérer code> est utilisé pour ne pas conserver le numéro de ligne dans une autre référence.

from openpyxl import Workbook

data = {
    'australia-central': 0.0097,
    'usgov-virginia': 0.00879,
}

workbook = Workbook()
sheet = workbook.active

sheet["A1"] = "Key"
sheet["B1"] = "Hourly"

for row, (key, hourly) in enumerate(data.items(), start=2):
    sheet [f"A{row}"] = key
    sheet [f"B{row}"] = hourly

workbook.save("output.xlsx")


0 commentaires