Я пытаюсь написать новый CSV-файл, который анализирует больший файл и записывает только строки в соответствии с моими указанными c условиями. У меня возникла проблема с тем, чтобы мои условия работали правильно, потому что я не хочу, чтобы новая строка записывалась как 'Номер SKU', а 'Флаг складирования деталей' был 'Y'.
Я попытался пройти через это, добавив еще один для l oop перед основным для l oop, который продолжил бы через записи, если было выполнено вышеуказанное условие.
Любая помощь приветствуется, ниже код.
import csv
with open('4-22 inventory.csv', 'r') as csv_file:
csv_reader = csv.DictReader(csv_file)
with open ('stocking.csv', 'w', newline = '') as new_file:
fieldnames = ['SEGMENT_CODE','WHS_NUMBER','WHS_GL_NUMBER', 'LINE_CODE', 'SUBLINE_CODE', 'PART_NBR', 'SKU_NUMBER', 'MASTER_ITEM_FLAG',
'PART_STOCKING_FLAG', 'PART_STATUS_CODE', 'PART_MOVEMENT_CODE', 'SUB_MOVEMENT_CODE',
'FULL_MOVEMENT_CODE', 'FACTORY_PACK_QTY', 'OH_UNIT_QTY', 'ON_ORDER_UNIT_QTY', 'UNIT_COST']
csv_writer = csv.DictWriter(new_file, fieldnames = fieldnames)
csv_writer.writeheader()
for line in csv_reader:
for lines in new_file:
if lines['SKU_NUMBER'] and lines['PART_STOCKING_FLAG'] == 'Y':
continue
if line['WHS_NUMBER'] == 'NCI' and line['PART_STOCKING_FLAG'] == 'Y':
csv_writer.writerow(line)
elif line['WHS_NUMBER'] != 'NCI' and line['SKU_NUMBER'] and line['PART_STOCKING_FLAG'] == 'Y':
True
continue
else:
csv_writer.writerow(line)