Это делается с помощью инструментов Tidyverse, таких как pipe%>% и dplyr:
Разделяет столбец кода на два с указанным разделителем.
Поскольку «\» - это специальный символ в регулярном выражении, вы должны экранировать каждый \, который вы хотите найти, с другим.
Распространение преобразует его из высокой формы в широкую форму, как вам нужно.
library(dplyr)
df %>%
separate(code, into = c("colName", "value"), sep = "\\\\\\\\") %>%
spread(colName, value)
Нет встроенного в команде, эквивалентной DROP TABLE или TRUNCATE TABLE в SQL. Вам просто нужно создать страницу «удалить все» в своем приложении, а затем повторно вызывать эту страницу с помощью скрипта. На этой странице вы хотите удалить столько сущностей, сколько вы можете разумно ожидать, что они закончатся до истечения времени ожидания запроса. Точный код зависит от того, повторно используя JDO / JPA или API низкого уровня. (низкоуровневый API будет быстрее, потому что вы можете использовать пакетные операции.)
Этот предыдущий вопрос SO почти такой же, только для Python
в моем случае (работа с плагином eclipse и игровой платформой) мне пришлось остановить приложение, удалить файл / apps / crud-gae / tmp / datastore и затем перезапустить приложение
, которое оно работало для меня. .. работает на месте, конечно ...
Если вы используете maven в своем проекте, вы можете просто выполнить «mvn clean install». Это, конечно, сбросит хранилище данных локально.
Просто выполните запрос без фильтра, чтобы получить все объекты и удалить их один за другим.
import javax.servlet.http.*;
import com.google.appengine.api.datastore.DatastoreService;
import com.google.appengine.api.datastore.DatastoreServiceFactory;
import com.google.appengine.api.datastore.Entity;
import com.google.appengine.api.datastore.PreparedQuery;
import com.google.appengine.api.datastore.Query;
public class MyServlet extends HttpServlet {
public void doGet(HttpServletRequest req, HttpServletResponse resp)
throws IOException {
DatastoreService datastore =
DatastoreServiceFactory.getDatastoreService();
Query mydeleteq = new Query();
PreparedQuery pq = datastore.prepare(mydeleteq);
for (Entity result : pq.asIterable()) {
datastore.delete(result.getKey());
}
}
Извините, что разбудил эту тему, но на всякий случай я хотел бы добавить подсказку для таких нубов, как я (наконец-то нашел ответ в документации Google):
Если вы хотите сбросить Локальное хранилище данных (например, во время разработки с использованием eclipse) все сразу, выключите сервер, найдите файл ' local_db.bin ' в вашем проекте (должно быть в WEB-INF / appengine) или каталог), и удалите его.
Хорошо работает с Java, еще не пробовал с Python.
++
извините, что так поздно, но я просто пытался сделать то же самое ...
Я вошел в свою учетную запись (appengine.google.com) и нашел вариант для просмотра хранилища данных через служебную программу администратора (хранилище данных / просмотрщик данных) ... которая позволяет создавать / обновлять / удалять.
Удалить все (или часть) данных ваших приложений теперь является частью консоли администратора
, чтобы включить эту функциональность, просто включить следующую встроенную в своем файле App.yaml:
builtins:
- datastore_admin: on
Добавление этих строк в приложение. YAML позволяет странице «Admin DataStore» в консоли администратора приложения
Согласно документам GAE вы можете удалить несколько объектов в JDO, вызвать метод deletePersistentAll (...) PersistenceManager с коллекцией объектов.
PersistenceManager pm = PMF.get().getPersistenceManager();
Query query = pm.newQuery("select from " + Your.class);
List<Your> objs = (List<Your>) query.execute();
pm.deletePersistentAll(objs);
Очистка хранилища данных сервера разработки
Веб-сервер разработки использует локальную версию хранилища данных для тестирования вашего приложения, используя временные файлы. Данные сохраняются до тех пор, пока существуют временные файлы, и веб-сервер не сбрасывает эти файлы, если вы не попросите его сделать это.
Если вы хотите, чтобы сервер разработки очищал свое хранилище данных перед запуском, используйте параметр --clear_datastore при запуске сервера:
dev_appserver.py --clear_datastore helloworld/