几列我用这个代码:Perl的DBI - 忽略输出
while (my $line = <IN>)
{
chomp $line;
if($line =~ /(.*?:)\{(.+)\}/)
{
my $value2 = $2;
my @values2 = split(/,/, $value2);
my $insertKeys;
my $insertValues;
foreach $data(@values2)
{
chomp $data;
my ($key, $value) = split(/:/, $data);
$key =~ s/"//g;
$value =~ s/"/'/g;
$insertKeys .= $key.',';
$insertValues .= $value.',';
}
输入:
“actor_ip”: “127.0.0.1”, “注意”: “从混帐”,“用户“:”用户名为'https'“user_id”:null“actor”:“用户名为'https'”actor_id“:null”org_id“:null”action“:”user.failed_login“”created_at“:1412256345456789”data“ :{ “actor_location”:{ “位置”:{ “LAT”:空 “LON”:空}}}
输出:
KEYS:actor_ip,note,user,user_id,actor,actor_id,org_id,action,created_at,data,lon,
VALUES:'127.0.0.1','From Git','Username for'https',null ,'用户名为'https',null,null,'user.failed_login',1412256456789,{'actor_location',null
我想从输出中删除这两个键和值请让我知道如何将下面的表达式
"user":"Username for 'https"
"data":{"actor_location":{"location":{"lat":null "lon":null}}}
欢迎来到Stack Overflow。请尽快阅读[关于]页面。我不清楚你的数据来自哪里。它看起来像一个混蛋的JSON格式。你省略了你说过的代码。你还没有给出你想要插入的表的模式。目前还不清楚输入是单行还是多行。您不清楚在输出或插入中省略了哪些列。事实上,一般来说,你的问题并不清楚。 – 2014-10-08 06:25:47