Я разделяю csv на два csvs, основываясь на значении в столбце исходного CSV. Этот код работает, но занимает около часа для запуска csv с около 10000 записей. Я попытался перечислить список, но я не думаю, что это был правильный подход к ускорению этого.медленный скрипт python при переходе по списку
Я очень медленно и очень новичок в этом программировании, и был бы признателен, если бы кто-нибудь смог объяснить, где сосредоточиться на моих следующих усилиях, чтобы сделать это быстрее. Я знаю, что наименьшее количество строк лучше, но я не понимаю, как делать циклы при создании двух отдельных csvs. Является ли цикл даже проблемой здесь?
myList = ['2','12','20','33'...]
with open(originalCSV, 'rb') as f:
reader = csv.DictReader(f)
rows = [row for row in reader if row['Column 10'] in myList]
for row in rows:
with open(inmylistCSV, 'wb') as w:
fieldnames = ['Column 1', 'Column 2', 'Column 5', 'Column 10']
csvwriter = csv.DictWriter(w, fieldnames=fieldnames)
csvwriter.writeheader()
csvwriter.writerows(rows)
with open(originalCSV, 'rb') as f:
reader = csv.DictReader(f)
rows = [row for row in reader if row['Column 10'] not in myList]
for row in rows:
with open(notinmylistCSV, 'wb') as w:
fieldnames = ['Column 1', 'Column 2', 'Column 5', 'Column 10']
csvwriter = csv.DictWriter(w, fieldnames=fieldnames)
csvwriter.writeheader()
csvwriter.writerows(rows)
Благодарим за объяснение, это решило мою проблему! – JS24