data = {
'2023:09:01': {'867726032728067': 68},
'2023:09:02': {'867726032728067': 68},
'2023:09:03': 0,
'2023:09:04': {'866384064965578': 48, '867266067918648': 46},
}
本想着把这组数据通过 pandas 模块保存成excel表格
保存格式:
1.2列
2.第一列为日期('2023:09:01'),第二列为({'867726032728067': 68})
import pandas as pd # 给定数据 data = { '2023:09:01': {'867726032728067': 68}, '2023:09:02': {'867726032728067': 68}, '2023:09:03': 0, '2023:09:04': {'866384064965578': 48, '867266067918648': 46}, } df = pd.DataFrame.from_dict(data, orient='index') print(df) df.columns = ['报警次数30次以上'] # 设置列标题为 '数量' # 将 DataFrame 保存为 Excel 文件 df.to_excel('data.xlsx', index_label='日期') # 设置索引列标题为 '日期'
结果报错:
解决办法: 把你的value {'867726032728067': 68} 转成str
原因:因为你的value是字典形式,pandas模块 会继续解析你的value , 不是把他当作一个值存储到 DataFrame 数据框架中
遇见混合数据存储时,把value 全部转化为str的形式特别的字典和元组
还为解决的问题:(自己猜想)
如果混合数据的第一个value不是可迭代的(字典,元组,列表),那么剩下的数据也不会解析,直接当作一个value来存储
那上面的数据来举例:就把第一个value数据换成 :0
import pandas as pd # 给定数据 data = { '2023:09:01': 0, '2023:09:02': {'867726032728067': 68}, '2023:09:03': 0, '2023:09:04': {'866384064965578': 48, '867266067918648': 46}, } df = pd.DataFrame.from_dict(data, orient='index') print(df) df.columns = ['报警次数30次以上'] # 设置列标题为 '数量' # 将 DataFrame 保存为 Excel 文件 df.to_excel('data.xlsx', index_label='日期') # 设置索引列标题为 '日期' print('ok')
标签:no,int,attribute,09,value,df,867726032728067,2023,68 From: https://www.cnblogs.com/xujunhui/p/17697139.html