У меня есть файл CSV. Затем у меня есть некоторые правила, которые необходимо применить, а затем создайте новый CSV на основе правил.Python CSV, добавление или изменение данных столбца
Так он может пойти двумя путями:
- Добавить новый столбец, со своим собственным заголовком и данными
- Возьмите существующий столбец и изменить данные этого столбца.
Это то, что я до сих пор
def applyRules(directory):
FILES = []
for f in listdir(OUTPUT_DIR):
writer = csv.writer(open("%s%s" % (DZINE_DIR, f), "wb"))
for rule in Substring.objects.filter(source_file=f):
from_column = rule.from_column
to_column = rule.to_column
reader = csv.DictReader(open("%s%s" % (OUTPUT_DIR, f)))
headers = reader.fieldnames
for row in reader:
if rule.get_rule_type_display() == "substring":
string = rule.string.split(",")
# alter value
row[to_column] = string[0] + row[from_column] + string[1]
if rule.from_column == rule.to_column:
print rule.from_column
else:
print rule.from_column
Правило как FROM_COLUMN и TO_COLUMN, если они одинаковы, то столбец остается прежним, но данные должны быть обновлены с правило, в этом случае просто добавляя строку до и после текущего значения.
Когда TO_COLUMN отличается, то его просто новый столбец с измененными данными, как указано выше в новом столбце.
Так в настоящее время я просто изменяя значения Dict, но я не уверен, как получить его обратно в новый CSV и т.д.