Как очистить кортежи и вставить их в CSV-файл? - PullRequest
0 голосов
/ 28 февраля 2019

Я печатаю из БД в файл CSV, например:

result = cursor.fetchall()
writer = csv.writer(writeFile, dialect='myDialect')
   for x in result:
      x = list(x)
      for z in x:
         z = re.sub(r'[^\w\s]',' ',z)
      x = tuple(x)
      writer.writerow(x)

Я хочу очистить каждую строку в моих кортежах, удаляя знаки препинания.Я нашел это регулярное выражение, которое работает хорошо.

Однако оно не работает, так как мой CSV-файл все еще полон пунктуации.

1 Ответ

0 голосов
/ 28 февраля 2019

Переменная итерации z содержит только копию каждого значения в x, поэтому изменения, внесенные в z, не отражаются в x.Вы должны использовать enumerate для итерации по x, чтобы вы могли изменять элементы в x через индекс:

for i, z in enumerate(x):
    x[i] = re.sub(r'[^\w\s]',' ',z)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...