优化Python代码以提高资源利用率和/或执行时间

我有这段代码可以读取XML API,解析信息,最后将其存储到Excel文件中。

该脚本可以运行,但是需要很长时间并且消耗大量CPU资源。我们正在谈论大约2GB的RAM和90%以上的CPU。 out文件约为15MB,小于30万行,因此它并不大。但是出于某种原因,这会浪费大量资源。

我确信有更好的方法来实现这一目标。我正在为此使用熊猫。 任何在此处更改代码或使用Dask或线程池的方法。不确定实现将如何工作。

我知道我们无法对此进行优化,以至于无法同时针对系统资源和时间进行优化。

请告知如何优化此代码。

# Parsed XML stored into list of lists
computers = []
for computer in tree.iter('computer'):
    c = []
    c += [computer.find('field1').text]
    c += [computer.find('field2').text]
    c += [computer.find('field3').text]
    c += [computer.find('field4').text]
    c += [computer.find('field5').text]

    apps = []
    for application in computer.iter('Application'):
        app = []
        app += [application.find('Title').text]
        app += [application.find('Version').text]
        apps += [app]

    computers += [c + [apps]]

# Crated DataFrame from the list
df = pd.DataFrame(columns=['field1','field2','field3','field4','field5','Applications'],data=computers)

# flatten the list of list so each app is a row
dftmp = df['Applications'].apply(pd.Series).T.melt().dropna()
dfapp = (dftmp.value.apply(pd.Series).set_index(dftmp.variable).rename(columns={0:'Title',1:'Version'}))
df2 = df[['field1','field5']].merge(dfapp,left_index=True,right_index=True)


writer = ExcelWriter("file.xlsx")
df2.to_excel(writer,'Full_List')
writer.save()
chen22di 回答:优化Python代码以提高资源利用率和/或执行时间

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3154874.html

大家都在问