zhyiwww
          用平實的筆,記錄編程路上的點點滴滴………
          posts - 536,comments - 394,trackbacks - 0
          功能:把csv里面的數據導入到postgres數據庫。

          實現步驟:

          (1)查看數據,取得所有的字段名稱

          "ID","CALLID","CALLERID","CALLEDID","LOGTIME","ACTION_TYPE","ACTION_DES"
          5829,76881,cccccc,tttt,2009年07月13日09時57分34秒,"bbbbb",
          5830,76881,cccccc,tttt,2009年07月13日09時57分34秒,"aaaaa","1\116.kkkk"
          5831,76881,cccccc,tttt,2009年07月13日09時57分43秒,"aaaaa","1\142.kkkk"
          5832,76881,cccccc,tttt,2009年07月13日09時57分46秒,"aaaaa","1\141.kkkk"
          5833,76881,cccccc,tttt,2009年07月13日09時57分57秒,"aaaaa","1\116.kkkk"
          5834,76881,cccccc,tttt,2009年07月13日09時58分07秒,"aaaaa","1\142.kkkk"

          通過上面的字段名稱和下面的數據,可以知道數據的字段名稱和數據類型。

          (2)根據字段名稱和類型,寫出創建表的腳本

          drop table? aa_log ;

          create table aa_log
          (
          ??? id int8,
          ??? callid int8,
          ??? callerid int8,
          ??? calledid int8,
          ??? logtime varchar(100),
          ??? action_type varchar(100),
          ??? action_des varchar(100)
          );

          腳本保存為/tmp/a.sql

          (3)創建數據表

          ?$ psql -hlocalhost -U postgres -d logdb? -f? /tmp/a.sql

          執行,創建數據表。

          (4)修改數據
          ? 上面的數據,字符串類型有"aaaaa" ,那么導入到數據庫的時候,對應的值也會有符號"aaaaa",所以,其值實際是""aaaaa"",為了避免這樣,我們要先把數據里面的"去掉。
          在vim里面,用%s/“//g把所有的"符號替換掉。

          5829,76881,cccccc,tttt,2009年07月13日09時57分34秒,bbbbb,
          5830,76881,cccccc,tttt,2009年07月13日09時57分34秒,aaaaa,1\116.kkkk
          5831,76881,cccccc,tttt,2009年07月13日09時57分43秒,aaaaa,1\142.kkkk
          5832,76881,cccccc,tttt,2009年07月13日09時57分46秒,aaaaa,1\141.kkkk
          5833,76881,cccccc,tttt,2009年07月13日09時57分57秒,aaaaa,1\116.kkkk
          5834,76881,cccccc,tttt,2009年07月13日09時58分07秒,aaaaa,1\142.kkkk

          (5)刪除title

          把數據最上面的那行字段定義數據刪除掉。否則會出現導入數據庫錯誤。


          (6)導入數據
          logdb=# copy aa_log? from '/tmp/aa.csv' with delimiter ',';
          COPY 273
          logdb=#

          (7)檢查數據

          至此,導入數據處理完畢。





          |----------------------------------------------------------------------------------------|
                                     版權聲明  版權所有 @zhyiwww
                      引用請注明來源 http://www.aygfsteel.com/zhyiwww   
          |----------------------------------------------------------------------------------------|
          posted on 2009-07-15 14:14 zhyiwww 閱讀(3302) 評論(1)  編輯  收藏 所屬分類: database 、Postgres

          FeedBack:
          # re: 從csv格式導入數據到postgres
          2009-09-21 09:36 | Trader
          謝謝。  回復  更多評論
            
          主站蜘蛛池模板: 托克逊县| 北流市| 福清市| 汤原县| 洱源县| 揭阳市| 琼结县| 雷波县| 龙游县| 仙居县| 莲花县| 都匀市| 平江县| 苍溪县| 高安市| 灌南县| 南开区| 思茅市| 海阳市| 顺昌县| 专栏| 平凉市| 民县| 辽中县| 田林县| 永济市| 封丘县| 龙海市| 垫江县| 呼玛县| 龙山县| 吕梁市| 温州市| 偃师市| 若尔盖县| 当雄县| 遂宁市| 梧州市| 乐山市| 英山县| 武汉市|