Ошибка синтаксиса Python - ввод файла CSV: Я пытаюсь использовать тест маскировки CSV для реализации и взял пример использования с masking using faker. Выбрал пример кода из ссылки и попытался выполнить программу. Но я получаю синтаксическую ошибку при доступе к файлу csv.Python faker - Ошибка синтаксиса - CSV-файл
import unicodecsv as csv
from faker import Factory
from collections import defaultdict
def anonymize_rows(rows):
"""
Rows is an iterable of dictionaries that contain name and
email fields that need to be anonymized.
"""
# Load the faker and its providers
faker = Factory.create()
# Create mappings of names & emails to faked names & emails.
names = defaultdict(faker.name)
emails = defaultdict(faker.email)
# Iterate over the rows and yield anonymized rows.
for row in rows:
# Replace the name and email fields with faked fields.
row['name'] = names[row['name']]
row['email'] = emails[row['email']]
# Yield the row back to the caller
yield row
def anonymize('masktest.csv', 'masktest_tgt.csv'):
"""
The source argument is a path to a CSV file containing data to anonymize,
while target is a path to write the anonymized CSV data to.
"""
with open('masktest.csv', 'rU') as f:
with open('masktest_tgt.csv', 'w') as o:
# Use the DictReader to easily extract fields
reader = csv.DictReader(f)
writer = csv.DictWriter(o, reader.fieldnames)
# Read and anonymize data, writing to target file.
for row in anonymize_rows(reader):
print (row['name'])
writer.writerow(row)
Traceback (most recent call last):
File "python", line 34
def anonymize('masktest.csv', 'masktest_tgt.csv'):
^
SyntaxError: invalid syntax
Да, эта строка не является синтаксисом Python. Что вы ожидаете от этого? – Matthias
Прошу прощения, я не понимаю, не могли бы вы объяснить. Как передать входной файл csv в функцию anonymize.I хотел бы передать входные и выходные файлы CSV для маскировки данных. Я смог прочитать из файла, используя «- open» («masktest.csv», «rU») как f: reader = csv.DictReader (f) для строки в считывателе: print (строка ['name' ]) ", но функция не работает. – saran
Ваши отпечатки неверны, пожалуйста, исправьте его – Leva7