post by yamamoto | 0 | 3,261 views

perl memo DBD::CSVを使ってみる

DBD::CSVはCPANのページを御覧ください。それから、日本語訳はこちらです。

iPadのインストールMacBook pro のインストールは前の記事を御覧ください。

なお、基本的に多言語の対応のデータ処理を想定しておりますので、文字コードはUTF-8でやっております。

まず、テーブルの削除(DROP)と作成(CREATE)、そしてデータの挿入(INSERT)と更新(UPDATE)をやってみましょう。

(PRIMARY KEY は使えないそうです)

以下はサンプルcsv_as_db.plの中身です。

#!/usr/bin/perl

    use DBI;
    $dbh = DBI->connect("DBI:CSV:f_dir=/Volumes/RamDisk/csvdb")
        or die "Cannot connect: " . $DBI::errstr;
        
        $sth = $dbh->prepare("DROP TABLE a.csv ")
        or die "Cannot prepare: " . $dbh->errstr();
    $sth->execute() or die "Cannot execute: " . $sth->errstr();
    
    $sth = $dbh->prepare("CREATE TABLE a.csv (id INTEGER not null, name CHAR(10))")
        or die "Cannot prepare: " . $dbh->errstr();
    $sth->execute() or die "Cannot execute: " . $sth->errstr();
    
        $sth = $dbh->prepare(" insert into a.csv (id,name) values (1,'カンマ 太郎')")
        or die "Cannot prepare: " . $dbh->errstr();
    $sth->execute() or die "Cannot execute: " . $sth->errstr();
            $sth = $dbh->prepare(" update a.csv set name='カンマ 花子' where id=1")
        or die "Cannot prepare: " . $dbh->errstr();
    $sth->execute() or die "Cannot execute: " . $sth->errstr();
    $sth->finish();
    $dbh->disconnect();

【実行結果】

My-iPad:~/perl root# perl csv_as_db.pl
My-iPad:~/perl root# cat a.csv
id,name
1,"カンマ 花子"

 

Comments are closed.