在管理和分析數(shù)據(jù)時,將文件從一種格式轉換為另一種格式是經(jīng)常需要的。如果您正在使用Linux中的CSV (逗號分隔值)文件,並希望將其轉換為TSV ( TAB分隔值)文件,則您在正確的位置,因為本文將幫助您進行執(zhí)行所需轉換的過程。
了解CSV和TSV
CSV文件已被廣泛用於存儲結構化數(shù)據(jù)。但是, TSV文件比CSV文件提供了一些優(yōu)勢。
儘管CSV文件用逗號分開值,但TSV文件使用選項卡,這可以使數(shù)據(jù)處理更加容易,尤其是在處理數(shù)據(jù)本身中的逗號時。
TSV文件也往往與通常用於數(shù)據(jù)處理和分析的各種應用程序和工具更兼容。
如何將CSV轉換為Linux中的TSV
可以通過各種方法將CSV文件轉換為Linux中的TSV文件,如下所示:
目錄
1。使用awk命令
AWK是一種功能強大的文本處理工具,可讓您有效地操縱和轉換數(shù)據(jù),該工具也用於將CSV文件轉換為TSV文件,如圖所示。
$ awk -f',''開始{ofs =“ \ t”} {$ 1 = $ 1} 1'tecmint.csv> tecmint.tsv $ LS -L tecmint.tsv
用CSV文件的實際文件名替換tecmint.csv ,然後用轉換的TSV文件的所需文件名替換Tecmint.tsv 。
讓我們分解命令:
-
-F ','
將輸入字段分離器設置為逗號,表明輸入文件為CSV格式。 -
BEGIN {OFS="\t"}
將輸出字段分離器設置為選項卡,指定輸出文件應為TSV格式。 -
{$1=$1}
使用指定的字段分離器強制重新格式化輸入字段。 -
1
是觸發(fā)默認操作的常見尷尬模式,即打印修改後的記錄。
2。使用sed命令
SED命令是Linux中另一種功能強大的工具,可輕鬆將CSV文件轉換為TSV文件。
這是您必須在終端中執(zhí)行的SED命令,以將CSV文件轉換為TSV文件。
$ sed's/,/\ t/g'tecmint.csv> tecmint.tsv $ LS -L tecmint.tsv
讓我們了解命令的組成部分:
-
s/,/\t/g
是SED使用的替換模式,該模式在輸入文件中搜索逗號(,)
並用選項卡(\t)
代替它們。 - input.csv應替換為CSV文件的實際文件名。
- output.TSV指定轉換的TSV文件的所需文件名。您可以選擇自己喜歡的任何名稱。
3。使用CSVKIT庫
CSVKIT庫提供了一套方便且功能強大的命令行工具,用於使用Linux中的CSV文件。它提供了一種將CSV文件轉換為TSV格式的簡便方法。
但是,您必須首先通過以下命令在Linux系統(tǒng)上安裝CSVKIT :
$ sudo apt install csvkit [在<strong>Debian,Ubuntu和Mint上</strong>] $ sudo yum安裝csvkit [ <strong>rhel/centos/fedora</strong>和<strong>rocky/almalinux</strong> ] $ sudo Emerge -a sys -apps/csvkit [ <strong>Gentoo Linux</strong>上] $ sudo apk添加csvkit [在<strong>Alpine Linux</strong>上] $ SUDO PACMAN -S CSVKIT [在<strong>Arch Linux</strong>上] $ sudo zypper安裝csvkit [ <strong>opensuse</strong> ]
然後將以下命令與-T
選項一起使用,該命令將輸出定界符指定為選項卡,並將CSV文件轉換為TSV格式。
$ csvformat -t tecmint.csv> tecmint.tsv $ LS -L tecmint.tsv
4。使用Python腳本
要將CSV文件轉換為Linux中的TSV文件,您可以使用Python,這是一種多功能編程語言,在Linux Systems中通??捎谩U埌凑找韵虏襟E使用Python進行轉換:
通過運行以下命令:在終端中創(chuàng)建一個新的Python腳本文件:
$ nano tecmint.py 或者 $ vi tecmint.py
然後在腳本文件中添加以下代碼。
導入CSV csv_file =' <strong>tecmint.csv</strong> ' tsv_file =' <strong>tecmint.tsv</strong> ' 用打開(csv_file,'r')為input_file,at upput_file打開(tsv_file,'w'): csv_reader = csv.reader(input_file) tsv_writer = csv.writer(output_file,deLimiter ='\ t') 對於CSV_READER中的行: tsv_writer.writerow(row)
您必鬚根據(jù)您的選擇將CSV文件名替換為保存在系統(tǒng)中的文件名和TSV文件名。
然後使用Python3解釋器運行Python文件:
$ python3 tecmint.py
5。使用perl腳本
您還可以在Linux中使用Perl編程語言將CSV文件轉換為TSV文件。為此,您必須遵循以下步驟:
使用以下命令創(chuàng)建一個新的Perl腳本文件:
$ nano tecmint.pl 或者 $ vi tecmint.pl
在腳本文件中添加以下代碼:
#! /usr/bin/perl 使用嚴格; 使用警告; 我的$ csv_file ='tecmint.csv'; 我的$ tsv_file ='tecmint.tsv'; 打開(我的$ input_fh,'',$ tsv_file)或die“無法創(chuàng)建$ tsv_file:$!”; while(我的$ line = ){ chomp $ line; 我的@fields = split(',',$ line); 我的$ tsv_line = join(“ \ t”,@fields); 打印$ output_fh $ tsv_line。 “ \ n”; } 關閉$ input_fh; 關閉$ output_fh;
然後使用CTRL X
保存文件,然後再進行Y並輸入按鈕。
使Perl腳本可執(zhí)行,並使用以下命令運行Perl腳本:
$ chmod x tecmint.pl $ ./tecmint.pl $ LS -L tecmint.tsv
結論
在Linux中使用CSV文件並需要將其轉換為TSV文件時,有幾種可用的方法。本文提供了使用Python的CSVKIT庫,並使用Python和使用Perl編程語言,提供了使用awk和sed等命令的分步說明。
每種方法都提供自己的優(yōu)勢,並可以輕鬆將CSV文件轉換為TSV格式。通過遵循提供的說明,用戶可以有效執(zhí)行所需的轉換並使用其Linux系統(tǒng)中的TSV文件。
以上是將CSV文件轉換為Linux中TSV文件的5種方法的詳細內(nèi)容。更多資訊請關注PHP中文網(wǎng)其他相關文章!

熱AI工具

Undress AI Tool
免費脫衣圖片

Undresser.AI Undress
人工智慧驅動的應用程序,用於創(chuàng)建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Clothoff.io
AI脫衣器

Video Face Swap
使用我們完全免費的人工智慧換臉工具,輕鬆在任何影片中換臉!

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

SublimeText3漢化版
中文版,非常好用

禪工作室 13.0.1
強大的PHP整合開發(fā)環(huán)境

Dreamweaver CS6
視覺化網(wǎng)頁開發(fā)工具

SublimeText3 Mac版
神級程式碼編輯軟體(SublimeText3)

遇到DNS問題時首先要檢查/etc/resolv.conf文件,查看是否配置了正確的nameserver;其次可手動添加如8.8.8.8等公共DNS進行測試;接著使用nslookup和dig命令驗證DNS解析是否正常,若未安裝這些工具可先安裝dnsutils或bind-utils包;再檢查systemd-resolved服務狀態(tài)及其配置文件/etc/systemd/resolved.conf,並根據(jù)需要設置DNS和FallbackDNS後重啟服務;最後排查網(wǎng)絡接口狀態(tài)與防火牆規(guī)則,確認53端口未

作為系統(tǒng)管理員,您可能會發(fā)現(xiàn)自己(今天或將來)在Windows和Linux並存的環(huán)境中工作。 有些大公司更喜歡(或必須)在Windows Box上運行其一些生產(chǎn)服務已不是什麼秘密

在Linux系統(tǒng)中,1.使用ipa或hostname-I命令可查看私有IP;2.使用curlifconfig.me或curlipinfo.io/ip可獲取公網(wǎng)IP;3.桌面版可通過系統(tǒng)設置查看私有IP,瀏覽器訪問特定網(wǎng)站查看公網(wǎng)IP;4.可將常用命令設為別名以便快速調(diào)用。這些方法簡單實用,適合不同場景下的IP查看需求。

Node.js建立在Chrome的V8引擎上,是一種開源的,由事件驅動的JavaScript運行時環(huán)境,用於構建可擴展應用程序和後端API。 Nodejs因其非阻滯I/O模型而聞名輕巧有效,並且

LinuxCanrunonModestHardwarewtareWithSpecificminimumRequirentess.A1GHZPROCESER(X86ORX86_64)iSNEDED,withAdual-Corecpurecommondend.r AmshouldBeatLeast512MbForCommand-lineUseor2Gbfordesktopenvironments.diskSpacePacereQuiresaminimumof5-10GB,不過25GBISBISBETTERFORAD

MySQL用C編寫,是一個開源,跨平臺,也是使用最廣泛的關係數(shù)據(jù)庫管理系統(tǒng)(RDMS)之一。這是LAMP堆棧不可或缺的一部分,是Web託管,數(shù)據(jù)分析,數(shù)據(jù)庫管理系統(tǒng),數(shù)據(jù)分析,

Ubuntu長期以來一直是Linux生態(tài)系統(tǒng)中可訪問性,波蘭和功率的堡壘。隨著Ubuntu 25.04的到來,代號為“ Prucky Puffin”,Canonical再次證明了其對交付的承諾

MongoDB是一種高性能,高度可擴展的面向文檔的NOSQL數(shù)據(jù)庫,旨在管理繁忙的流量和大量數(shù)據(jù)。與傳統(tǒng)的SQL數(shù)據(jù)庫不同,將數(shù)據(jù)存儲在表中的行和列中,MongoDB在J中結構數(shù)據(jù)
