Мне действительно нужна помощь с использованием командного файла, чтобы сделать следующее:
Мне нужно читать в текстовом файле построчно и для каждой записи данного CSV-файла, которая начинается с найденного элементав строке текстового файла запишите его в новый файл CSV.
Или, другими словами:
Прочитайте следующее
example.csv
Page, Pageviews, Bounce Rate, /category/apples, 1029, 67%, /category/brussel-sprout, 3409, 92%, /category/orange, 1233, 87%
Затем прочитайте следующий текстфайл построчно:
example.txt
/category/apples
/category/orange
И создайте этот файл:
new.csv
Page, Pageviews, Bounce Rate, /category/apples, 1029, 67%, /category/orange, 1233, 87%
До сих пор я работал над этим проектом через пакетный файл, который принимает каждый отдельный адрес списка,проверяет, имеет ли он определенный заголовок, а затем записывает расширение в список.К сожалению, этого недостаточно, поскольку мне также необходимо затем восстановить таблицы из исходного CSV - но только те, которые имеют заголовок.Я пытался сделать это через Python, но это оказалось слишком громоздким (и системные ограничения сделали невозможным писать Python, так или иначе).Если вы хотите увидеть код, вы можете нажать на мои вопросы в моем профиле, но они не относятся к этой части.Осталось сделать вот что, и я прошу ясности и идей, так как мои сильные стороны не в BAT, а в C ++ (и нет, это не вариант).
Спасибо за помощь.Это сообщество (за некоторым исключением) оказалось отличным основанием для извлечения ценных уроков и подталкивания меня к успеху.
Вот куда я направлялся с Python:
import csv
lines = []
with open('output.txt','r') as f:
for line in f.readlines():
lines.append(line[:-1])
with open('corrected.csv','w') as correct:
writer = csv.writer(correct, dialect = 'excel')
with open('input.csv', 'r') as mycsv:
reader = csv.reader(mycsv)
for row in reader:
if row[0] not in lines:
writer.writerow(row)