欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

tsv、csv、xls等文件類(lèi)型區(qū)別及如何用python處理詳解

 更新時(shí)間:2024年04月26日 09:35:04   作者:十二月的貓  
近日在處理數(shù)據(jù)的時(shí)候發(fā)現(xiàn)有的文件為csv文件,有的為tsv文件,這篇文章主要給大家介紹了關(guān)于tsv、csv、xls等文件類(lèi)型區(qū)別及如何用python處理的相關(guān)資料,文中通過(guò)代碼介紹的非常詳細(xì),需要的朋友可以參考下

前言

考慮到進(jìn)行機(jī)器學(xué)習(xí)、深度學(xué)習(xí)訓(xùn)練、預(yù)測(cè)時(shí)我們不免接觸到許許多多的數(shù)據(jù),而這些數(shù)據(jù)又以不同的格式存在(主要有csv、xls、tsv三種格式),所以本文就想來(lái)講講這三種格式數(shù)據(jù)的轉(zhuǎn)化、閱讀、處理

介紹

txt文件:txt為純文本文件,無(wú)格式,只保存內(nèi)容字符,基本跨平臺(tái),不過(guò)受字符的編碼影響(因?yàn)橹槐4孀址幋a,一般沒(méi)特定的編碼識(shí)別標(biāo)志),需要選擇對(duì)應(yīng)字符解碼方式才能正確讀?。ㄈ鏕BK編碼的字符用UTF-8解碼會(huì)亂碼)

csv文件:CSV是一種簡(jiǎn)單、實(shí)用的文件格式,用于存儲(chǔ)和表示包括文本、數(shù)值等各種類(lèi)型的數(shù)據(jù)。CSV 文件通常以 .csv 作為文件擴(kuò)展名。這種文件格式的一個(gè)顯著特點(diǎn)是:文件內(nèi)的數(shù)據(jù)以逗號(hào)分隔,呈現(xiàn)一個(gè)表格形式。CSV 文件已廣泛應(yīng)用于存儲(chǔ)、傳輸和編輯數(shù)據(jù)

tsv文件:TSV也是一種簡(jiǎn)單、實(shí)用的文件格式,與CSV一樣用于存儲(chǔ)和表示包括文本、數(shù)值等各種類(lèi)型的數(shù)據(jù)。其顯著特點(diǎn)是文件內(nèi)的數(shù)據(jù)以指標(biāo)符 '\t' 分隔

xls文件:xls是一個(gè)特有的二進(jìn)制格式,核心結(jié)構(gòu)屬于復(fù)合型文檔類(lèi)型,是2003版本Office Microsoft Office Excel工作表保存的默認(rèn)格式。新建Excel表格保存的后綴名為“.xls”。最普通的excel格式

xlsx文件:xlsx的核心結(jié)構(gòu)是XML類(lèi)型結(jié)構(gòu),采用了XML的壓縮方式,使其占用的空間更小,xlsx中最后一個(gè)x的意義就在于此,它是Excel2007版本的文件。新建Excel表格默認(rèn)保存的后綴名為“.xlsx”

xlsm文件:xlsm同xlsx一樣是屬于07年版本的保存文件。只有保存為xlsm文件格式時(shí),才能夠保存寫(xiě)在excel文件中的宏方法,也就是VBA語(yǔ)言程序。它的后綴名是“.xlsm”

doc文件:是office word的文檔文件,是是二進(jìn)制文檔,數(shù)據(jù)結(jié)構(gòu)復(fù)雜且保密(微軟私有格式,破解的多只能讀,寫(xiě)容易出問(wèn)題,官方word讀不回去) 

docx文件:是一種基于xml的zip包,開(kāi)放格式,基本保證支持docx的都能通用讀寫(xiě)。

pdf文件:是Adobe推出的文檔交換格式,富文本,主要用于實(shí)現(xiàn)文檔交換(如傳閱和打印),對(duì)文字格式控制(可保證格式原樣不變)和文檔保護(hù)比doc好,同跨平臺(tái),屬于開(kāi)放標(biāo)準(zhǔn)

本文重點(diǎn)來(lái)講講標(biāo)紅的三種文件格式之間的轉(zhuǎn)化以及文件處理(python語(yǔ)言)

tsv、csv、txt的區(qū)別

  • 相同點(diǎn): csv、tsv和txt都屬于文本文件。
  • 不同點(diǎn):csv和tsv文件的字段間分別由逗號(hào)tab鍵隔開(kāi),而txt文件則沒(méi)有明確要求,可使用逗號(hào)/制表符/空格等 多種不同的符號(hào)。
文件類(lèi)型全稱(chēng)字段間的分隔符
csvComma-separated values半角逗號(hào)(’,’)
tsvTab-separated values制表符(Tab,’\t’)
txtText File逗號(hào)/制表符/空格等,無(wú)固定格式

讀取/生成 不同格式數(shù)據(jù)文件(python)

python中有一個(gè)庫(kù)專(zhuān)門(mén)用來(lái)數(shù)據(jù)處理,這個(gè)庫(kù)就是pandas。pandas能夠?qū)?shù)據(jù)進(jìn)行歸一化、標(biāo)準(zhǔn)化、缺失值補(bǔ)全、異常值剔除等處理,當(dāng)然也能夠?qū)Σ煌母袷降臄?shù)據(jù)文件進(jìn)行讀取、生成、轉(zhuǎn)化。學(xué)會(huì)使用pandas庫(kù),將大大方便我的對(duì)數(shù)據(jù)的處理

下圖為pandas庫(kù)下不同格式數(shù)據(jù)文件讀取、生成的函數(shù)名稱(chēng)(來(lái)源 官方文檔):

一、讀取/生成csv數(shù)據(jù)文件

import pandas as pd
data=pd.read_csv('./mydata.csv') #讀取csv格式文件,mydata.csv為文件名

data.to_csv('./my_new_data.csv') #生成csv格式文件,此時(shí)data中存儲(chǔ)的是其他文件格式(例如xls)

read_csv函數(shù)默認(rèn)的分隔符參數(shù)為‘,’,所以這里的read_csv('./mydata.csv')完整寫(xiě)法為read_csv('./mydata.csv',sep=',')。如果有需要我們也可以修改sep中的分隔符符號(hào),去實(shí)現(xiàn)不同分隔符下數(shù)據(jù)的讀取

read_csv函數(shù)讀取后返回對(duì)象為DataFrame類(lèi)型

二、讀取/生成txt數(shù)據(jù)文件

# 讀取txt文件
import pandas as pd

# 調(diào)用read_table函數(shù)讀取txt文件
data =  pd.read_table("./mydatat.txt")

# 調(diào)用read_csv函數(shù)讀取txt文件
df =  pd.read_csv("./my_new_data.txt",sep=',')

這里利用read_csv函數(shù)來(lái)讀取txt文件時(shí),這意味著txt文件中數(shù)據(jù)的分隔符需要是‘,’,否則將無(wú)法正確的解析數(shù)據(jù)

三、讀取/生成tsv數(shù)據(jù)文件

import pandas as pd

# 讀取TSV文件
data = pd.read_csv('data.tsv', sep='\t')

read_csv()函數(shù)通常來(lái)讀取CSV文件,所以默認(rèn)情況下,它會(huì)將逗號(hào)作為分隔符。為了讀取TSV文件,我們需要使用read_csv()函數(shù),并將分隔符參數(shù)設(shè)置為'\t'

四、讀取/生成xls數(shù)據(jù)文件

import pandas as pd
#讀取xlsx文件轉(zhuǎn)化為DataFrame格式存儲(chǔ)在df中
df=pd.read_excel('file.xlsx')
#將DataFrame對(duì)象轉(zhuǎn)化為xlsx文件格式
df.to_excel('new_file.xlsx')

這兩個(gè)函數(shù)同樣可以生成xls文件。xls文件相比于xlsx文件安全系數(shù)更好,因?yàn)槠涫怯枚M(jìn)制存儲(chǔ)的,而xlsx文件是用xml格式存儲(chǔ)的,xml格式是為了傳輸?shù)?/p>

不同文件格式轉(zhuǎn)化

一個(gè)思路:先將待轉(zhuǎn)化文件格式讀取為DataFrame格式,然后再利用DataFrame格式的to_函數(shù)轉(zhuǎn)成不同格式文件

總結(jié) 

python中的pandas庫(kù)是數(shù)據(jù)處理的一個(gè)利器,如果遇到數(shù)據(jù)處理的問(wèn)題都可以利用pandas庫(kù)來(lái)處理

到此這篇關(guān)于tsv、csv、xls等文件類(lèi)型區(qū)別及如何用python處理的文章就介紹到這了,更多相關(guān)python處理tsv、csv、xls文件類(lèi)型內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 使用python+whoosh實(shí)現(xiàn)全文檢索

    使用python+whoosh實(shí)現(xiàn)全文檢索

    今天小編就為大家分享一篇使用python+whoosh實(shí)現(xiàn)全文檢索,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧
    2019-12-12
  • 解決PyCharm無(wú)法使用lxml庫(kù)的問(wèn)題(圖解)

    解決PyCharm無(wú)法使用lxml庫(kù)的問(wèn)題(圖解)

    這篇文章主要介紹了解決PyCharm無(wú)法使用lxml庫(kù)的問(wèn)題,本文通過(guò)圖文并茂的形式給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-12-12
  • 深入理解最新Python中的Match Case

    深入理解最新Python中的Match Case

    最近發(fā)布的 Python 3.10 的所有主要新特性中最重要就是 Match-Case 語(yǔ)法,本文將帶你深入探討,會(huì)發(fā)現(xiàn) Match-Case 其實(shí)沒(méi)有那么簡(jiǎn)單
    2021-11-11
  • python中的zip模塊

    python中的zip模塊

    這篇文章主要介紹了zip文件格式是通用的文檔壓縮標(biāo)準(zhǔn),在ziplib模塊中,使用ZipFile類(lèi)來(lái)操作zip文件,感興趣的朋友參考如下
    2021-08-08
  • python實(shí)現(xiàn)比較兩段文本不同之處的方法

    python實(shí)現(xiàn)比較兩段文本不同之處的方法

    這篇文章主要介紹了python實(shí)現(xiàn)比較兩段文本不同之處的方法,涉及Python針對(duì)文本與字符串的相關(guān)操作技巧,需要的朋友可以參考下
    2015-05-05
  • python使用range函數(shù)計(jì)算一組數(shù)和的方法

    python使用range函數(shù)計(jì)算一組數(shù)和的方法

    這篇文章主要介紹了python使用range函數(shù)計(jì)算一組數(shù)和的方法,涉及Python中range函數(shù)的使用技巧,具有一定參考借鑒價(jià)值,需要的朋友可以參考下
    2015-05-05
  • 總結(jié)Python圖形用戶(hù)界面和游戲開(kāi)發(fā)知識(shí)點(diǎn)

    總結(jié)Python圖形用戶(hù)界面和游戲開(kāi)發(fā)知識(shí)點(diǎn)

    在本篇文章里小編給大家整理了關(guān)于Python圖形用戶(hù)界面和游戲開(kāi)發(fā)知識(shí)點(diǎn)以及實(shí)例代碼,需要的朋友們學(xué)習(xí)下。
    2019-05-05
  • Python中Yield的基本用法及Yield與return的區(qū)別解析

    Python中Yield的基本用法及Yield與return的區(qū)別解析

    Python中有一個(gè)非常有用的語(yǔ)法叫做生成器,用到的關(guān)鍵字就是yield,這篇文章主要介紹了Python中Yield的基本用法及Yield與return的區(qū)別,需要的朋友可以參考下
    2022-10-10
  • Matlab中plot基本用法的具體使用

    Matlab中plot基本用法的具體使用

    這篇文章主要介紹了Matlab中plot基本用法的具體使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • Python調(diào)用另一個(gè)py文件并傳遞參數(shù)常見(jiàn)的方法及其應(yīng)用場(chǎng)景

    Python調(diào)用另一個(gè)py文件并傳遞參數(shù)常見(jiàn)的方法及其應(yīng)用場(chǎng)景

    這篇文章主要介紹了在Python中調(diào)用另一個(gè)py文件并傳遞參數(shù)的幾種常見(jiàn)方法,包括使用import語(yǔ)句、exec函數(shù)、subprocess模塊、os.system函數(shù)以及argparse模塊,每種方法都有其適用場(chǎng)景和優(yōu)缺點(diǎn),需要的朋友可以參考下
    2025-01-01

最新評(píng)論