2017-07-19 6 views
1

Ich versuche, ein Wörterbuch in Python zu nehmen und es in ein Excel-Arbeitsblatt, wo die Schlüssel im Kopfbereich des Blattes angezeigt werden und die Werte sind in Spalten. Ich bin in der Nähe Ich vermisse nur etwas Kleines und kann es nicht herausfinden, hier ist mein Code. Vorsicht I Art und Weise verwenden, um viele ImporteErstellen von Header in Excel aus einem Python-Wörterbuch Schlüssel

import os 
import re 
import openpyxl 
from openpyxl.utils import get_column_letter, column_index_from_string 
import xlsxwriter 
import pprint 
from openpyxl.workbook import Workbook 
from openpyxl.worksheet.copier import WorksheetCopy 


workbook = xlsxwriter.Workbook('dicExcel.xlsx') 
worksheet = workbook.add_worksheet() 

d = {'a':['Alpha','Bata','Gamma'], 'b':['1','2','3'], 'c':['1.0','2.0','3.0']} 
row = 0 
col = 1 

for key in d.keys(): 
row += 1 
worksheet.write(row, col, key) 
for item in d[key]: 
    worksheet.write(row, col + 1, item) 
    row += 1 

workbook.close() 

Antwort

0

Eine Option ist das pandas Paket zu verwenden, brauchen Sie nicht zu viele Importe.

import pandas as pd 

d = {'a':['Alpha','Bata','Gamma'], 'b':['1','2','3'], 'c':['1.0','2.0','3.0']} 

df = pd.DataFrame(d) 

df wird wie folgt aussehen:

 a b c 
0 Alpha 1 1.0 
1 Bata 2 2.0 
2 Gamma 3 3.0 

Um den Datenrahmen zurück in eine Excel-Datei zu schreiben:

df.to_excel("Path to write Excel File + File Name") 
1

ich das denke, was Sie zu tun versuchen:

import xlsxwriter 

workbook = xlsxwriter.Workbook('dicExcel.xlsx') 
worksheet = workbook.add_worksheet() 

d = {'a':['Alpha','Bata','Gamma'], 'b':['1','2','3'], 'c':['1.0','2.0','3.0']} 
row = 0 
col = 0 

for key in d.keys(): 
    row = 0 
    worksheet.write(row, col, key) 
    row += 1 
    for item in d[key]: 
     worksheet.write(row, col, item) 
     row += 1 
    col += 1 

workbook.close() 

Dies legt die Daten in diesem fo rmat:

a  c  b 
Alpha 1.0 1 
Bata 2.0 2 
Gamma 3.0 3 

Ist das, was Sie wollten?

+0

Genau und danke, dass Sie sich die Zeit genommen haben, meine Frage zu beantworten. Ich wünsche ihnen einen wunderbaren Tag. –

Verwandte Themen