使用Python的执行脚本来实现SQL脚本的功能

时间:2018-08-15 17:27:24

标签: python sql database pandas sqlite

我正在使用SQLite中的数据库,并将一堆csv文件导入到我的数据库中。不幸的是,据我所知无法在导入期间添加主键,因此我正在使用一种解决方法,在该方法中,我读取csv文件并使用Pandas的#include <iostream> #include <cstddef> int* find(int target, int* start, int* stop) { while (start < stop) { if (*start == target) { return start; } ++start; } return nullptr; } int main() { int someArray[] = {3,10,19,7,3,45,123,4,9,89}; int *start = &someArray[0]; int *stop = &someArray[10]; std::cout << "Enter a number to find: "; int num; std::cin >> num; int *found = find(num, start, stop); if (found) std::cout << "Found at index " << static_cast<ptrdiff_t>(found - start); else std::cout << "Not found"; return 0; } ,然后使用{{1 }}:

to_sql

这很好用,但是我有一堆csv文件,我想通过它们executescript并将它们全部循环导入。我的问题是,为了做到这一点,我需要找出一种将表和列的名称获取到函数中的SQL脚本中的方法。该功能可以在将表导入数据库时​​使用,也可以在之后使用,

任何有建议的人,都将受到欢迎!

1 个答案:

答案 0 :(得分:0)

如果可以从csv或其他来源解析表名和列名,则可以在将查询传递给执行功能之前进行查询。

示例:

table_name="P_data"
query_template="SELECT * FROM  {0}"
final_query=query_template.format(table_name)

,然后您可以将final_query传递给执行。我喜欢通过模板进行最终查询,但是您可以直接执行。

query_template="SELECT * FROM  {0}".format(table_name)"

希望它会对您有所帮助。