使用python创建Excel工作表,prog不工作
这是节目单使用python创建Excel工作表,prog不工作,python,Python,这是节目单 for key, value in fetched.keys(): ValueError: too many values to unpack 获取的dict包含如下数据 import xml.etree.cElementTree as etree import xlsxwriter import pprint from csv import DictWriter xmlDoc = open('C:/Users/Talha/Documents/abc.xml', 'r') xml
for key, value in fetched.keys():
ValueError: too many values to unpack
获取的dict包含如下数据
import xml.etree.cElementTree as etree
import xlsxwriter
import pprint
from csv import DictWriter
xmlDoc = open('C:/Users/Talha/Documents/abc.xml', 'r')
xmlDocData = xmlDoc.read()
xmlDocTree = etree.XML(xmlDocData)
sections = ['Srno','State','Statecd','District','IssuedOn','Day','normal_rainfall','normal_temp_max','normal_temp_min']
fetched = dict()
for sec in sections:
fetched[sec] = []
for item in xmlDocTree.iter( sec ):
fetched[sec].append( item.text )
#print fetched['State']
workbook = xlsxwriter.Workbook('data.xlsx')
worksheet = workbook.add_worksheet()
row = 0
col = 0
for key, value in fetched.keys():
worksheet.write(row, col, key)
worksheet.write(row, col + 1, value)
row += 1
workbook.close()
使用.items()同时使用键和值遍历字典
使用
更改项的键
您正在尝试将列表写入单元格。将列表转换为字符串。
使用以下概念
for key, value in fetched.items():
worksheet.write(row, col, key)
worksheet.write(row, col + 1, ','.join(value))
row += 1
使用带分隔符的联接将列表转换为字符串。对于fetched.keys()中的键使用
:
或者更确切地说,对于fetched.items()中的键,值使用:
在您的情况下,我也尝试过这一点,但出现了类似以下文件“C:\Python27\lib\site packages\xlsxriter\worksheet.py”的错误,第65行,在cell_包装返回方法(self,*args,**kwargs)文件“C:\Python27\lib\site packages\xlsxwriter\worksheet.py”中,第433行,在write-raise-TypeError(“write()中不支持的类型%s”%type(token))中类型错误:write()中不支持的类型@big bountybut fetched不是一个列表,它是一个dict@bigbountyBut,但是fetched for键中的值,'Srno'是一个列表,它可以工作,但是数据是以水平方式列出的,也不在相应的单元格中,这是因为我使用了逗号作为分隔符。如果在excel设置中启用了逗号作为分隔符,则格式将不同。相反,尝试使用不同的分隔符,如“;”或“|”
for key, value in fetched.items():
worksheet.write(row, col, key)
worksheet.write(row, col + 1, ','.join(value))
row += 1
l = ['1','2','3']
print ','.join(l)