Словарь Python удалить точки - PullRequest
0 голосов
/ 26 мая 2018

У меня есть несколько CSV, которые мне нужно импортировать в MangoDB.У этих csv есть точка в заголовке, которая терпит неудачу, когда я вставляю их в MangoDB.по-видимому, они не допускают точек в ключах.Как я могу удалить точки?я не могу изменить CSV, так как CSV загружаются во время выполнения

  df = pd.read_csv(filepath) #csv file which you want to import
  records_ = df.to_dict(orient = 'records')
  print(records_)
  result = db.matchstats.insert_many(records_ )

1 Ответ

0 голосов
/ 26 мая 2018

Вы конвертируете свои данные в словарь здесь:

records_ = df.to_dict(orient = 'records')

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

Например (обратите внимание, что это предполагает Py 3):

import re
records_ = {re.sub(r"\.+", "", k):v for k,v in records_.items()} # replace one or more stops using re.sub

Однако общий подход к простой замене точек кажется опасным, поскольку он может привести к дублированию клавиш / удаленным ключам;Вы можете пересмотреть это на основе ваших данных.

...