Изменение текста с параметром в Python
Если я хочу изменить запрос с параметром.
я не хочу запускать Sql с этим запросом. Я хочу написать запрос в текстовом файле и поделиться запросом с другими людьми.
Но Pandas.text_sql, Pandas.read_sql_query эта функция будет запускаться с использованием запроса.
Поэтому я хочу найти изменение текста с параметром, аналогичным pandas.read_sql_query
какую функцию я могу изменить "read_sql_query"? я действительно немного знаю питона.. если ты знаешь вещи, помоги мне ~
text_sql = pandas.read_sql_query(""" select * from %s""", %(table_name),conn)
f= open(file_name+'.txt','w+')
f.write(text_sql)
f.close()
2 ответа
РЕДАКТИРОВАТЬ: я совершенно не понял вопрос, когда я дал свой первый ответ.
Вы хотите написать запрос в файл и отправить этот файл другим людям, так что в вашем вопросе pandas
не имеет ничего общего с запросом sql. В приведенных вами примерах pandas выступает в качестве интерфейса для завершения SQL-запросов. Эти функции выполняют некоторую обработку данных и возвращают результат запроса в некотором структурированном формате.
Как бы то ни было, здесь мы просто хотим сами запросы. Таким образом, вы можете работать со строками самостоятельно.
sql_request_string = "select * from " + table_name
with open(file_name, 'w+') as f:
f.write(sql_request_string)
Теперь этот фрагмент не особенно использовать полностью самостоятельно. Однако мы можем обернуть его в функцию, а затем использовать его не раз.
def save_request_string(table_name,filename,field="*"):
"""write a sql request string to file"""
request_template = "select {field} from {table}"
with open(file_name, 'w+') as f:
f.write(request_template.format(field=field, table=table_name))
Вы можете использовать эту функцию для записи множества запросов в файл, например, циклически перебирая список имен таблиц, которые вы собрали. Затем отправьте файл по электронной почте вашему другу.
Теперь, если вы хотите отправить файл по электронной почте из скрипта Python, а также. Боюсь, я не могу вам помочь.
Если вы просто хотите отправить текст в текстовом файле, просто сделайте это с table_name
быть строкой
f= open(file_name+'.txt','w+')
f.write('select * from '+table_name)
f.close()