Словарь Python удалить точки

У меня есть несколько 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 ответ

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

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

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

Другие вопросы по тегам