Слияние и очистка CSV-файлов в Python - PullRequest
0 голосов
/ 25 марта 2019

Я пользуюсь пандами, но я открыт для всех предложений, я не специалист по написанию сценариев, но я полная потеря. Моя цель заключается в следующем:

  • Объединение нескольких файлов CSV. Был в состоянии сделать это в Pandas и иметь фрейм данных с объединенным набором данных.

Скриншот того, как выглядит объединенный набор данных

  • Удалить дублирующиеся столбцы "GEO" после первого набора. Эта последняя часть не позволяет мне использовать df = df.loc[:,~df.columns.duplicated()], потому что они технически не дублируются. Повторяющиеся имена столбцов заканчиваются на .1, .2 и т. Д. как я предполагаю, конкат добавляет это. Другая проблема заключается в том, что некоторые столбцы имеют дублированное имя столбца, но являются разными наборами данных. Я использовал первую строку в качестве индекса, поскольку она всегда имеет одинаковые кодированные значения, но эта строка не нужна и будет впоследствии удалена в сценарии. Это моя самая большая проблема прямо сейчас.

  • Удалите некоторые столбцы, например столбцы с полями. Я использую ~df2.columns.str.startswith для этого и не имею проблем с этим.

  • Заменить пробелы, ":" и ";" с подчеркиванием в первом ряду. Я понятия не имею, как это сделать.
  • Вставьте новый столбец, напишите формулу '= TEXT (B1,0)', сделайте это для всего столбца (формула изменится на B2, B3 и т. Д.), Скопируйте столбец и вставьте в качестве значений. Я смог сделать это в openpyxl, хотя у меня были проблемы, и я не смог попробовать окончательный результат из-за проблем с Excel. source = excel.Workbooks.Open(filename) excel.Range("C1:C1337").Select() excel.Selection.Copy() excel.Selection.PasteSpecial(Paste=constants.xlPasteValues) Не уверен, что это работает, и хотел знать, возможно ли это в pandas, win32com или мне стоит остаться с openpyxl. Спасибо всем!
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...