附加带有数据框的Excel工作表

时间:2020-09-13 08:17:13

标签: python excel dataframe

我已经编写了一个代码,它可以正常工作,但是,我需要一些帮助来正确组织它。

在这里,我正在创建一个Excel工作表,并尝试将其添加到该行的末尾。

代码:

writer = pd.ExcelWriter('demo.xlsx', engine='xlsxwriter')
df = pd.DataFrame(columns=['DEVICE_ID','DEVICE_NAME','DRIVER_VERSION'])

for key,value in driver_dict.items():
    device = clean_generic_terms(str(key)).lower()
    hwids = all_drivers_details["driverElements"][device]["HardwareID"].split(",")

    df = df.append({'DEVICE_ID': ["NA" if dev_id=='' else dev_id for dev_id in hwids],
                        'DEVICE_NAME': device,
                        'DRIVER_VERSION': value}, ignore_index=True)

    print(df)

df.to_excel(writer, sheet_name='Windows10', index=False)

writer.save()

当前的工作代码正在生成具有以下输出的excel工作表。

generated excel sheet

在这里,我需要用逗号分隔每个设备ID,并更新为单独的行。现在,代码将设备ID列表本身插入一行。

我需要这样的东西

enter image description here

请帮助我。 预先感谢。

1 个答案:

答案 0 :(得分:1)

实际上,您应该发布可复制的代码,以便我们尝试发布答案。无论如何,您可以尝试一下。在您的main for循环中添加此代码,然后尝试。

hwids = all_drivers_details["driverElements"][device]["HardwareID"].split(",")
for id in hwids
    df = df.append({'DEVICE_ID': "NA" if id=='' else id,
                        'DEVICE_NAME': device,
                        'DRIVER_VERSION': value}, ignore_index=True)

print(df)