csvlinux
Ⅰ linux csv文件怎麼打開方式
將文本信息可以通過awk腳本命令 輸出成 a,b,c,d的形式,並且寫入的文件名字保存為a.csv即可變成csv格式的文件了,一般通過腳本實現。
Ⅱ 如何將 csv 文件的格式在 Linux 批量轉換成 utf-8 的編碼格式
csv文件本質上還是屬於文本文件,在Linux中轉換文本文件的編碼可以使用iconv命令,iconv命令很簡單,記住它的三個參數就可以了,下面是它的三個參數:
-f參數:表示from,就是原本的編碼格式
-t參數:表示to,就是後來的新編碼
-o參數:表示輸出文件,就是轉換編碼後的新文件的文件名,如果沒有這個參數新文件會將原來的文件覆蓋掉。
下面是將GB2312編碼的文本文件轉換成UTF-8編碼的例子:
iconv -f gb2312 -t utf8 mygb2312.txt -o myutf8.txt
這個例子中mygb2412.txt就是要轉換的文件,myutf8.txt就是轉換後的新文件。如果是批量轉換,可以寫一個簡單的shell腳本,非常容易就能實現的。
Ⅲ kettle抽取linux下csv文件到Windows下資料庫
linux 下,可以使用cli程序把csv文件導入到資料庫。具體代碼如下:
java">$ORACLE_HOME/bin/sqlplus-Susername/password@instanceName>/dev/null2>&1<<!!
#對sqlplus作一些設置,使之只輸出我們需要的文本
setechooff
setpagesize0
setverifyoff
setfeedbackoff
settermoutoff
setlinesize3000
settrimspoolon
#查詢輸出到臨時文件
spool/tmp/some_tmp.csv
#select語句
selectcolumn1||','||column2||','||column3....
fromsome_tablewherecondition
spooloff
#這里可以添加多個查詢,且每個查詢可輸出到不同的文件,如下面注釋
#spool/tmp/some_tmp.csv
#selectcolumn1||','||column2||','||column3....
#fromsome_tablewherecondition
#spooloff
setmarkupHTMLoff
quit
!!
#計算記錄總行數,如果是0則不發郵件
NUM=`cat/tmp/some_tmp.csv|wc-l`
if[$NUM-gt0]
then
#先寫excel的每列的title
echo'Title_Of_Column1,Title_Of_Column2,....Title_Of_ColumnN'>/tmp/attachement.csv
#數據正文
cat/tmp/some_tmp.csv>>/tmp/attachement.csv
#發郵件
(
echo"From:[email protected]"
echo"To:[email protected]"
echo"MIME-Version:1.0"
echo"Content-Type:multipart/mixed;"
echo'boundary="A_Boundary_Name_You_Can_Change_It"'
echo"Subject:Subject"
echo""
echo""
#附件分隔符,上面的boundary前面加--
echo"--A_Boundary_Name_You_Can_Change_It"
echo'Content-Transfer-Encoding:x-uuencode'
echo'Content-Type:text/csv;'
echo'name="attachement.csv"'
echo'Content-Disposition:attachment;'
echo'filename="attachement.csv"'
echo""
uuencode/tmp/attachement.csvattachement.csv
echo"--A_Boundary_Name_You_Can_Change_It"
#附件結束
)|mailx-t
fi
#刪除臨時文件
rm-f/tmp/*.csv
exit0
Ⅳ linux下怎麼用shell修改csv格式
#cat test.csv |awk -F, '{print $1,$2,"hello world",$3}'|sed 's/ /,/g'
1,男,hello,world,甲
2,女,hello,world,丁
3,男,hello,world,乙
Ⅳ linux某個目錄下有1.csv、2.csv、3.csv....100.csv文件,需要批量壓縮成1.zip、2.zip、3.zip....100.zip
如果壓縮成1.csv.gz的話比較簡單
find/path/to/dir-name*.csv|xargsgzip
如果不想原文件被刪除的話
find/path/to/dir-name*.csv|xargsgzip-k
必須用zip的話沒這么靈活了:
for((i=1;i<101;i++))dozip$i.zip$i.csv;done
linux一般用gz的比較多。最後一種用awk也可以做到,不過比較麻煩。
Ⅵ linux下怎樣用腳本把csv文件導入到數據
#!/bin/bash
for f in ~/*.txt
do
mysql -e "LOAD DATA INFILE 』"$f"』 INTO TABLE tablename FIELDS TERMINATED BY 』,』 LINES
TERMINATED BY 』\r\n』" -u username --password=***** databasename
done
Ⅶ linux 怎麼查看 csv文件內容
#!/usr/bin/perl -w
use strict;
use Text::CSV;
use Spreadsheet::WriteExcel;
die("Usage: $0 [input filename(s)]\n") if (scalar @ARGV == 0);
my $xl = Spreadsheet::WriteExcel->new('output.xls');
foreach my $filename (@ARGV) {
my $csv = Text::CSV->new;
my $wsname = $filename;
$wsname =~ s/.csv//g;
$wsname =~ s/-/ /g;
my $ws = $xl->add_worksheet($wsname);
my $row = 1;
open FH, $filename; while () {
$csv->parse($_);
my @fields = $csv->fields;
$ws->write("A$row", \@fields);
$row++;
}; close FH;
}
Q
Ⅷ linux 下如何使用shell 把處理好的csv文件導入到資料庫下
linux 下,可以使用cli程序把csv文件導入到資料庫。具體代碼如下:
$ORACLE_HOME/bin/sqlplus-Susername/password@instanceName>/dev/null2>&1<<!!
#對sqlplus作一些設置,使之只輸出我們需要的文本
setechooff
setpagesize0
setverifyoff
setfeedbackoff
settermoutoff
setlinesize3000
settrimspoolon
#查詢輸出到臨時文件
spool/tmp/some_tmp.csv
#select語句
selectcolumn1||','||column2||','||column3....
fromsome_tablewherecondition
spooloff
#這里可以添加多個查詢,且每個查詢可輸出到不同的文件,如下面注釋
#spool/tmp/some_tmp.csv
#selectcolumn1||','||column2||','||column3....
#fromsome_tablewherecondition
#spooloff
setmarkupHTMLoff
quit
!!
#計算記錄總行數,如果是0則不發郵件
NUM=`cat/tmp/some_tmp.csv|wc-l`
if[$NUM-gt0]
then
#先寫excel的每列的title
echo'Title_Of_Column1,Title_Of_Column2,....Title_Of_ColumnN'>/tmp/attachement.csv
#數據正文
cat/tmp/some_tmp.csv>>/tmp/attachement.csv
#發郵件
(
echo"From:[email protected]"
echo"To:[email protected]"
echo"MIME-Version:1.0"
echo"Content-Type:multipart/mixed;"
echo'boundary="A_Boundary_Name_You_Can_Change_It"'
echo"Subject:Subject"
echo""
echo""
#附件分隔符,上面的boundary前面加--
echo"--A_Boundary_Name_You_Can_Change_It"
echo'Content-Transfer-Encoding:x-uuencode'
echo'Content-Type:text/csv;'
echo'name="attachement.csv"'
echo'Content-Disposition:attachment;'
echo'filename="attachement.csv"'
echo""
uuencode/tmp/attachement.csvattachement.csv
echo"--A_Boundary_Name_You_Can_Change_It"
#附件結束
)|mailx-t
fi
#刪除臨時文件
rm-f/tmp/*.csv
exit0