Вы в правильном направлении. Необходимо исправить две основные вещи:
Следующий код делает то, что вы хотите для примера испанского csv в вашем OP, переименовывая файлы spanish1.m4a
, spanish2.m4a
и spanish3.m4a
. Обратите внимание:
1) все файлы (файлы code, csv и .m4a) должны находиться в одном каталоге;
2) Я использую f-строк для построения строк с именами файлов - надеюсь, форматирование достаточно очевидно из кода;
3) Вам потребуется выполнить некоторый рефакторинг, чтобы код работал с вашими файлами на других языках.
Использование pandas
излишне для этой задачи, но я не хотел слишком сильно менять структуру вашего кода. Дайте мне знать, если у вас есть какие-либо сомнения.
import pandas as pd
import shutil
df = pd.read_csv('spanish.csv', delimiter=';')
Row = (df['#']) #line number
Eng = (df['Eng']) #English trans
Spa = (df['Spanish']) #Spanish
for i in Row:
eng = Eng[i-1]
spa = Spa[i-1]
old_file = f"spanish{i}.m4a"
shutil.move(old_file, f"{eng}-{spa}-{i}.m4a")
Вот хорошая ссылка: One to Many Join с использованием Google App Engine.
http://blog.arbingersys.com/2008/04/google-app-engine-one-to-many-join.html
Вот еще одна хорошая ссылка: Many to Many Join using Google App Engine:
http://blog.arbingersys.com/2008/04/google-app-engine-many-to-many-join.html
Вот хорошая дискуссия по поводу двух вышеприведенных ссылок:
Лично я нахожу этот комментарий в дискуссии очень информативным о Google App Engine Data Store:
http://groups.google.com/group/google-appengine/msg/ee3bd373bd31e2c7
При масштабировании вы делаете кучу вещей, которые кажутся неправильными. вещей, которые кажутся неправильными, но которые требуются для тех цифр, которые мы работаем. Пойдите посмотрите переговоры EBay. Или почитайте сообщения о том, сколько баз данных экземпляров базы данных FaceBook.
Простая правда в том, что то, о чем мы узнали в университете, отлично подходит для приложений для автоматизации бизнеса малых и средних предприятий, где нагрузка была предсказуемой, и было достаточно денег, чтобы купить сервер необходимый для обработки нагрузки 50 людей, вводящих данные в бухгалтерии или бизнес-планирования и приложение для управления бизнесом....
Поискал еще немного и наткнулся на эту статью в Google Doc:
http://code.google.com/appengine/articles/modeling.html
App Engine позволяет создавать простые в использовании связи между хранилищами данных. использовать отношения между хранилищем данных сущностями, которые могут представлять реальные вещи и идеи. Используйте ReferenceProperty, когда вам нужно связать произвольное количество повторяющихся типов информации с одной сущности. Используйте списки ключей, когда вам необходимо разрешить множеству различных объектам обмениваться другими экземплярами между собой. Вы обнаружите, что эти два подхода обеспечат вам большую часть того, что вам нужно для создания модели, лежащей в основе отличных приложений.
Я думаю, что это основы: Ключи и сущность Группы ищите его в документации appengine. (Я здесь новенький, поэтому не могу разместить ссылку)
Могу ли я дополнить отличный ответ выше ссылкой на видео:
http://sites.google.com/site/io/building-scalable -web-applications-with-google-app-engine
Это отличный доклад Бретта Слаткина из Google, который в течение часа рассказывает о том, как вам нужно думать о своем приложении, прежде чем вы сможете ожидать, что оно будет хорошо масштабироваться. Есть несколько настоящих WTF (например, no count () в запросах к базе данных), которые заставят вас усложнить жизнь, если вы пришли из реляционного фона.
Я работал над этим, но не являюсь экспертом, хотя движок приложений Google - очень хорошая вещь, и это будущее, поскольку он реализует платформу как услугу и «Программное обеспечение как услуга». Механизм приложений Google предоставляет нереляционную базу данных. Так что здесь нельзя писать отношения.
С уважением, Гаурав Дж.
These links are great, but are predominantly python biased, I am using GWT, and therefore have to use the java flavour of GAE, does anyone have any examples of how to achieve these "join" equivalencies in the java version of GAE?
Cheers, John