Если вы загрузили данные в фрейм данных с помощью Pandas, вы можете использовать df.dropna()
, где df = pd.DataFrame(<your_data_here>)
Также вы можете передавать параметры, как показано ниже:
df.dropna(how='any') #to drop if any value in the row has a nan
df.dropna(how='all') #to drop if all values in the row are nan
Я использовал другой файл даты на сервере. Это вызывало проблему.
Первый ребенок мог бы быть пробелом только текстовый узел или тому подобный?
Попытка:
System.out.println(doc.getFirstChild().getClass().getName());
Править:
Просто искавший это в моем собственном коде, Вам нужно:
doc.getDocumentElement().getChildNodes();
Или:
NodeList nodes = doc.getElementsByTagName("MyTag");
Я думаю, что Ваш бросок вывода doc.getFirstChild () состоит в том, где Вы получаете свое исключение - Вы получаете некоторый Объект узла неэлемента. Номер строки на отслеживании стека указывают на ту строку? Вы, возможно, должны были бы сделать doc.getChildNodes () и выполнить итерации для нахождения первого ребенка Элемента (корень документа), пропустив Узлы неэлемента.
Ваш e.setAttribute () вызов выглядит разумным. Принятием e является Элемент, и Вы на самом деле добираетесь до той строки...
Как уже отмечено, ClassCastException
вероятно, не добавляется setAttribute
. Проверьте номер строки в стек. Мое предположение - это getFirstChild()
возвращает a DocumentType
, не Element
.
Попробуйте это:
DocumentBuilderFactory dbf = DocumentBuilderFactory.newInstance();
DocumentBuilder db = dbf.newDocumentBuilder();
Document doc = db.parse(f);
Element e = (Element) doc.getDocumentElement().getFirstChild();
e.setAttribute("objectId", "OBJ123");
Обновление:
Кажется, что Вы сбиваете с толку Node
и Element
. Element
реализация Node
, но конечно не единственный. Так, не все Node
castable к Element
. Если бросок работает над одной машиной а не над другим, это - потому что Вы возвращаете что-то еще от getMapNode()
потому что синтаксические анализаторы ведут себя по-другому. Синтаксический анализатор XML является сменным в Java 1.4, таким образом, Вы могли получать совершенно другую реализацию, от другого поставщика, с различными ошибками даже.
Так как Вы не отправляете getMapNode()
мы не видим то, что это делает, но необходимо быть явными, о каком узле Вы хотите, чтобы это возвратилось (использование getElementsByTagName
или иначе).