【发布时间】:2016-05-29 19:39:39
【问题描述】:
我一直在想一件事。是否可以查询数据库,以便在 csv 文件中给出“where”子句条件?
假设我有数据库,并且在其中有这样的表(名称为 some_table):
id company_id created_at
0001c73d 12345 2016-1-1
rewrewrf 45678 2016-2-1
0001c73d 57986 2016-3-1
vcxcv34d 21346 2016-4-1
23215fsf 47896 2016-6-1
我的 some.csv 看起来像这样:
error_id;company_id
32rgfvx4;12345
fds44322;45678
fdsf46hh;57986
989jh2f4;21346
f43452fg;47896
所以查询可能是这样的:
select company_id, created_at
from some_table
where company_id IN ('some.csv:column2')
明白了吗?
这可以用 python 或者直接用一些 SQL 程序(插件/脚本..)或其他东西来完成吗?有任何想法吗?
【问题讨论】:
-
很确定这可以通过 PowerShell 完成
-
SQL Server 有
OPENROWSET我认为可以用于类似的事情,但我不相信 MySQL 有一个等价物。正如@dfundako 指出的那样,Powershell 可以做到(取决于 CSV 的大小和您的方法)。我认为 Python 也可以。 -
您可以将 CSV 文件加载到临时表中并使用该表进行过滤。但是为什么不直接用 python 解析 CSV 文件呢?
-
不太了解 Powershell 和 Python 新手。但不应该那么难,谢谢你的提示。打算进行更多调查。