Python 3.x 为xml对象创建csv需要花费太多时间
我有一个需要写入文件的xml对象。我发现这需要1个多小时才能完成10000条记录。我尝试使用Python 3.x 为xml对象创建csv需要花费太多时间,python-3.x,pandas,Python 3.x,Pandas,我有一个需要写入文件的xml对象。我发现这需要1个多小时才能完成10000条记录。我尝试使用df_merge['xml']=df_merge['xml']进行转换。astype(str)。所用的时间与此相似,即超过1小时,只是astype(str)需要更多的时间。因此,无论发生什么情况,完成到\u csv都需要1个多小时。 那么,我能知道如何快速地将大型xml对象写入文件吗? 10000个XML的大小约为600 MB df_merge.to_csv(settings.OUTPUT_XML, en
df_merge['xml']=df_merge['xml']进行转换。astype(str)
。所用的时间与此相似,即超过1小时,只是astype(str)
需要更多的时间。因此,无论发生什么情况,完成到\u csv
都需要1个多小时。
那么,我能知道如何快速地将大型xml对象写入文件吗?
10000个XML的大小约为600 MB
df_merge.to_csv(settings.OUTPUT_XML, encoding='utf-8', index=False,
columns=['xml'])
后来我尝试使用np.savetxt
,这也需要类似的时间
import numpy as np
np.savetxt('output_xml.txt', df_merge['xml'], encoding='utf-8', fmt="%s")
你可以考虑使用。这是一个很好的库,或者其他常见的序列化工具,如
在您的情况下,您可能能够使用下面的一些示例代码序列化您的对象,并且这样做的时间要长得多:
# Import joblib's dump function
from joblib import dump
# For speed, keep compression = 0
dump(df_merge, 'df_merge.joblib')
# For smaller file size, you can increase compression, though it will slow your write time
# dump(df_merge, 'df_merge.joblib', compress=9)
然后可以使用joblib
加载文件,如下所示:
# Import joblib's load function
from joblib import load
# For speed, keep compression = 0
# Note, if you used compress=n, then it will take longer to load
df_merge = load('df_merge.joblib')