數(shù)據(jù)處理 | csvkit安裝與簡(jiǎn)單使用


_文{}_\equiv{}_{\nabla \Delta \nabla \Delta \nabla \Delta} {}^{皮}{}_{實(shí)}{}^{樂(lè)}{}_{觀} {}^思_考 {}^有{}_{人^{生}}{}^{才_(tái){有}}{}_{精^{彩}}
{}^{\star\star}{}^\equiv{}^{水土七口刀} {}_{生}{}^{活}{}_{閱}{}^{讀} {}^運(yùn)_動(dòng) {}_有{}^{興_{趣}}{}_{才^{有}}{}^{人_{生}}


【走在成長(zhǎng)的路上】總綱

csvkit安裝

  • 使用pip安裝:運(yùn)行以下命令
sudo pip install csvkit
  • 在wsl使用pip安裝,經(jīng)測(cè)試不能正常識(shí)別,故使用apt安裝:運(yùn)行以下命令
sudo apt install csvkit

csvkit使用

  • 將excel文件轉(zhuǎn)換為csv:運(yùn)行以下命令
in2csv data.xls > data.csv 
  • 將json文件轉(zhuǎn)換為csv:運(yùn)行以下命令
in2csv data.json > data.csv
  • 屏幕打印csv列名:運(yùn)行以下命令
csvcut -n data.csv
  • 從data.csv獲取由column_a,column_c兩列構(gòu)成的子文件new.csv:運(yùn)行以下命令
csvcut -c column_a,column_c data.csv > new.csv
  • 重新排列csv列,將順序由1/2/3變?yōu)?/2/1,結(jié)果存儲(chǔ)至new.csv:運(yùn)行以下命令
csvcut -c column_3,column_2,column_1 data.csv > new.csv
  • 獲得列column_3中與字符串a(chǎn)bc(可用正則表達(dá)式)匹配的行,結(jié)果存儲(chǔ)至new.csv:運(yùn)行以下命令
csvgrep -c column_3 -r "abc" data.csv > new.csv
  • 將csv轉(zhuǎn)換為json,結(jié)果存儲(chǔ)至new.csv:運(yùn)行以下命令
csvjson data.csv > data.json
  • 統(tǒng)計(jì)csv中每一列的一些簡(jiǎn)單信息:運(yùn)行以下命令
csvstat data.csv
- 數(shù)據(jù)類型Type of data: Number
- 包含空值Contains null values:  False 
- 唯一值數(shù)量Unique values: 200000 
- 最小值Smallest value:  0
- 最大值Largest value: 199999 
- 和Sum:   19999900000
- 平均數(shù)Mean:   99999.5
- 中位數(shù)Median:  99999.5
- 標(biāo)準(zhǔn)差StDev: 57735.171256
- 常見(jiàn)值Most common values:  0 (1x);2 (1x);3 (1x) ;4 (1x)
  • 使用SQL語(yǔ)句查詢,結(jié)果存儲(chǔ)至new.csv:運(yùn)行以下命令
csvsql --query "select name from data where age > 30" data.csv > new.csv
  • 導(dǎo)入到數(shù)據(jù)庫(kù):運(yùn)行以下命令
csvsql --db postgresql:///database --insert data.csv
  • 從數(shù)據(jù)庫(kù)提取數(shù)據(jù),結(jié)果存儲(chǔ)至new.csv:運(yùn)行以下命令
sql2csv --db postgresql:///database --query "select * from data" > new.csv

csvkit進(jìn)階使用

  • 通過(guò)fips列來(lái)連接兩個(gè)csv表,結(jié)果存儲(chǔ)至joined.csv:運(yùn)行以下命令
csvjoin -c fips data1.csv data2.csv > joined.csv
  • 將data.csv中total_cost列進(jìn)行降序排序,結(jié)果存儲(chǔ)至new.csv:運(yùn)行以下命令
csvsort -c total_cost -r data.csv > new.csv
  • 將兩個(gè)csv表合并,一般為列數(shù)和列名相同,結(jié)果存儲(chǔ)至region.csv:運(yùn)行以下命令
csvstack data1.csv data2.csv > region.csv
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。