使用pandas庫(kù)對(duì)csv文件進(jìn)行篩選保存
這個(gè)操作現(xiàn)在看來(lái)真沒(méi)啥難的,但是我找相關(guān)的資料真的找了好久。
多數(shù)大佬都是直接pandas官網(wǎng)甩我臉上,然后舉一個(gè)入門級(jí)的例子。
https://pandas.pydata.org/docs/reference/index.html
首先導(dǎo)入pandas庫(kù)
import pandas as pd
然后使用read_csv來(lái)打開(kāi)指定的csv文件
df = pd.read_csv('./IP2LOCATION.csv',encoding= 'utf-8')
這個(gè)函數(shù)里面需要寫(xiě)入csv文件的路徑,如果是把csv文件保存到了python的工程文件夾下,則只需要./文件名即可,然后encoding='utf-8'是使用utf-8方式編碼,有時(shí)候需要換成gbk。
雖然我們讀取的是csv文件,但其實(shí)由于我們使用的是pandas庫(kù),所以我們實(shí)際獲得的是一個(gè)DataFrame的數(shù)據(jù)結(jié)構(gòu)。
可以使用print(type(df))進(jìn)行檢驗(yàn)
print(type(df))

DataFrame 是表格型的數(shù)據(jù)結(jié)構(gòu)。因此,我們可以將其當(dāng)做表格。DataFrame 是以表格類似展示,而且還包含行標(biāo)簽、列標(biāo)簽。
我們可以添加一個(gè)列標(biāo)簽,使用方法為pandas.DataFrame.columns
在我們的例子中DataFrame類型的變量為df,因此使用方法為df.columns,我們添加的列標(biāo)簽為a、b、c、d、e、f
df.columns = ['a','b','c','d','e','f']
然后,我們想把某一列中等于特定值的那些行提取出來(lái)
可以將讀出來(lái)的內(nèi)容當(dāng)做一個(gè)列表,然后這個(gè)列表的元素是表中的每一行,然后這每一行也是一個(gè)列表,也就是列表中的列表。
比如,我想將表中第5列中值為Andhra Pradesh的行提取出來(lái),并且由于我們之前定義了第五列的列標(biāo)簽為e
因此代碼為:
data = df[df['e'] == 'Andhra Pradesh']
最后我們可以通過(guò)pandas中的to_csv,來(lái)將篩選出來(lái)的數(shù)據(jù)保存到新的csv文件中。
data.to_csv('my_IP2LOCATION.csv')
用法為表名.to_csv('所要保存地方的路徑/表名.csv')
最后總結(jié)一下我們的代碼
import pandas as pd
df = pd.read_csv('./IP2LOCATION.csv',encoding= 'utf-8')
# print(type(df))
df.columns = ['a','b','c','d','e','f']
data = df[df['e'] == 'Andhra Pradesh']
data.to_csv('my_IP2LOCATION.csv')
IP2LOCATION.csv內(nèi)容如下:

總共有759727行
然后經(jīng)過(guò)我們的篩選后的my_IP2LOCATION.csv

只有3461行
PS:可以使用print(len(df.values))來(lái)查看行數(shù)
以上就是本文的全部?jī)?nèi)容,希望對(duì)大家的學(xué)習(xí)有所幫助,也希望大家多多支持腳本之家。
相關(guān)文章
沒(méi)編程基礎(chǔ)可以學(xué)python嗎
在本篇文章里小編給大家整理的是關(guān)于沒(méi)編程基礎(chǔ)可以學(xué)python嗎的相關(guān)知識(shí)點(diǎn),需要的朋友們可以學(xué)習(xí)下。2020-06-06
Python7個(gè)爬蟲(chóng)小案例詳解(附源碼)中篇
這篇文章主要介紹了Python7個(gè)爬蟲(chóng)小案例詳解(附源碼)中篇,本文章內(nèi)容詳細(xì),通過(guò)案例可以更好的理解爬蟲(chóng)的相關(guān)知識(shí),七個(gè)例子分為了三部分,本次為中篇,共有二道題,需要的朋友可以參考下2023-01-01
Python 利用base64庫(kù) 解碼本地txt文本字符串
這篇文章主要介紹了Python 利用base64庫(kù) 解碼本地txt文本字符串的操作,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過(guò)來(lái)看看吧2021-04-04
Pytorch生成隨機(jī)數(shù)Tensor的方法匯總
這篇文章主要介紹了Pytorch生成隨機(jī)數(shù)Tensor的方法匯總,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧2020-09-09
Python?hashlib模塊與哈希算法保護(hù)數(shù)據(jù)完整性教程
hashlib模塊為Python提供了一種簡(jiǎn)便的方式來(lái)使用各種哈希算法,如MD5、SHA-1、SHA-256等,哈希函數(shù)廣泛用于密碼學(xué)、數(shù)據(jù)完整性驗(yàn)證和安全存儲(chǔ)等領(lǐng)域2024-01-01
示例詳解pyqtgraph繪制實(shí)時(shí)更新數(shù)據(jù)的圖
PyQtGraph是一個(gè)基于PyQt和NumPy的Python庫(kù),它專為實(shí)時(shí)數(shù)據(jù)可視化而設(shè)計(jì),本文通過(guò)實(shí)例代碼給大家介紹pyqtgraph繪制實(shí)時(shí)更新數(shù)據(jù)的圖,感興趣的朋友一起看看吧2024-12-12
win10安裝python3.6的常見(jiàn)問(wèn)題
在本篇文章里小編給大家分享的是關(guān)于win10安裝python3.6的具體步驟,有興趣的朋友們可以參考學(xué)習(xí)下。2020-07-07

