python - 需要以迭代格式在excel中添加数据框
问题描述
我已经从字典中创建了一个熊猫数据框,我需要将唯一的列数据复制到同一张表中的 excel 但它只是写一个数据框并且在那之后没有写任何东西帮助!下面是代码:
import pandas
import csv
import os
act_dict = {'bmc': [], 'adc': [], 'volume': []}
with open('/home/laxmi/Downloads/chadaLookuptablevalueWithAdcreferenceAndBmcid.csv','r') as fp:
contents=csv.reader(fp)
total_count=0
i=0
for row in contents:
if contents.line_num == 1:
continue
data=row
act_dict['bmc'].append(data[0])
act_dict['adc'].append(data[1])
act_dict['volume'].append(data[2])
total_count+=1
os.chdir("/home/laxmi/Documents/volume_analyser_project")
bmc_data = pandas.DataFrame(act_dict)
count=len(bmc_data.bmc.unique())
l1 = bmc_data.bmc.unique()
writer = pandas.ExcelWriter('pandas_multiple.xlsx', engine='xlsxwriter')
count1=(len(l1))
startrow=startcol=0
for i in range(count1):
df_i=bmc_data[bmc_data.bmc==l1[i]]
df_i.to_excel(writer,startrow=0,startcol=startcol+2,sheet_name='Sheet1')
writer.save()
解决方案
l1 = bmc_data.bmc.unique()
print(l1)
startcol=startrow = 0
file_name='/home/laxmi/Documents/volume_analyser_project/idmc.xlsx'
writer = pandas.ExcelWriter('idmc.xlsx', engine='xlsxwriter')
count1=(len(l1))
print(count1)
for i in range(count1):
df_i=bmc_data[bmc_data.bmc==l1[i]]
df_i = df_i.sort_values("adc", axis = 0, ascending = True)
df_i.to_excel(writer,sheet_name='Sheet1',startrow=0,startcol=startcol,index=False)
startcol=startcol+4
print(startrow,startcol)
writer.save()
推荐阅读
- python - 如何迭代按子字典中的元素排序的字典?
- c++ - 没有模板参数的类模板值错误
- python - 如何让多个 MLFlow 并行运行?
- python - For/in 函数打印所有变量(在同一行),而不是 python 中的一个。解决方案?
- javascript - 如何通过回调观察 window.variable 的变化?
- php - 在 php 中导入时从 csv 中删除重复记录
- javascript - “React/Moment”:durationFromNow 与未来日期一起使用时以负数格式输出持续时间
- html - 当屏幕仅通过 html / css 变窄时如何隐藏 div 块?
- html - 将 SVG 从另一个 svg 文件导入 HTML 文件
- haskell - 如何为具有三个参数的数据类型编写 Applicative 实例?