0
私はPythonを使用します。私は100のzipファイルを持っています。各zipファイルには100以上のxmlファイルが含まれています。 xmlfilesの使用私はcsvfilesを作成します。Python、マルチプロセッシング:コードを最適化するには?コードを高速化しますか?
from xml.etree.ElementTree import fromstring
import zipfile
from multiprocessing import Process
def parse_xml_for_csv1(data, writer1):
root = fromstring(data)
for node in root.iter('name'):
writer1.writerow(node.get('value'))
def create_csv1():
with open('output1.csv', 'w') as f1:
writer1 = csv.writer(f1)
for i in range(1, 100):
z = zipfile.ZipFile('xml' + str(i) + '.zip')
# z.namelist() contains more than 100 xml files
for finfo in z.namelist():
data = z.read(finfo)
parse_xml_for_csv1(data, writer1)
def create_csv2():
with open('output2.csv', 'w') as f2:
writer2 = csv.writer(f2)
for i in range(1, 100):
...
if __name__ == "__main__":
p1 = Process(target=create_csv1)
p2 = Process(target=create_csv2)
p1.start()
p2.start()
p1.join()
p2.join()
コードを最適化する方法を教えてください。コードを高速化しますか?
圧縮されていないxmlファイルのサイズはどれくらいですか?あなたが書いているCSVは? – goncalopp
goncalopp、xmlファイルが淡いです(約10行)。私は2つのcsvファイルしか必要としません。 – Olga
私が処理を行うとhttp://lxml.de/FAQ.html#id1できるだけCレベルでそれをできるだけ多く行うためにlxmlのを使用します –