2017-07-19 65 views
1

我想在python中读取一个字典并将其放入一个excel工作表,其中的按键显示在工作表的标题部分并且值位于列中。我很接近,我只是想念一些小的东西,不能弄清楚这里是我的代码。注意我用的方法很多进口如何在python字典的excel中创建头文件

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() 

回答

0

一种选择是使用pandas包,您将不再需要太多的进口。

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看起来就像这样:

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

要写入数据帧回到Excel文件:

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

我认为这是你正在尝试做的事:

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() 

这将数据置于此地rmat:

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

这是你想要的吗?

+0

确切地感谢您花时间回答我的问题。祝你有美好的一天。 –