使用pandas庫對csv檔案進行篩選和儲存

2022-02-09 09:19:15 字數 1923 閱讀 3818

這個操作現在看來真沒啥難的,但是我找相關的資料真的找了好久。

多數大佬都是直接pandas官網甩我臉上,然後舉乙個入門級的例子。

首先匯入pandas庫

import pandas as pd
然後使用read_csv來開啟指定的csv檔案

df = pd.read_csv('

./ip2location.csv

',encoding= '

utf-8

')

這個函式裡面需要寫入csv檔案的路徑,如果是把csv檔案儲存到了python的工程資料夾下,則只需要./檔名即可,然後encoding='utf-8'是使用utf-8方式編碼,有時候需要換成gbk。

雖然我們讀取的是csv檔案,但其實由於我們使用的是pandas庫,所以我們實際獲得的是乙個dataframe的資料結構。

可以使用print(type(df))進行檢驗

dataframe 是**型的資料結構。因此,我們可以將其當做**。dataframe 是以**類似展示,而且還包含行標籤、列標籤。

我們可以新增乙個列標籤,使用方法為

pandas.dataframe.columns

在我們的例子中dataframe型別的變數為df,因此使用方法為df.columns,我們新增的列標籤為a、b、c、d、e、f

df.columns = ['

a','

b','

c','

d','

e','

f']

然後,我們想把某一列中等於特定值的那些行提取出來

可以將讀出來的內容當做乙個列表,然後這個列表的元素是表中的每一行,然後這每一行也是乙個列表,也就是列表中的列表。

比如,我想將表中第5列中值為

andhra pradesh的行提取出來,並且由於我們之前定義了第五列的列標籤為e

因此**為:

data = df[df['

e'] == '

andhra pradesh

']

最後我們可以通過pandas中的to_csv,來將篩選出來的資料儲存到新的csv檔案中。

data.to_csv('

my_ip2location.csv

')

用法為表名. to_csv('所要儲存地方的路徑/表名.csv') 

最後總結一下我們的**

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內容如下:

總共有759727行

然後經過我們的篩選後的my_ip2location.csv

只有3461行

ps:可以使用print(len(df.values))來檢視行數

使用pandas處理CSV檔案

import csv import numpy as np import pandas as pd data path test.csv 檔案路徑 讀csv data pd.read csv data path print 返回資料格式 type data col labels np.array d...

pandas處理csv檔案

機器學習離不開資料,資料分析離不開pandas。首先,我們拿到乙個excel表,我們將之另存為csv檔案。因為檔案是實驗室的資源,我就不分享了。首先是檔案讀取 def load csv filename data pd.read csv filename data data.drop data.co...

pandas讀取csv檔案

import pandas as pd pd.set option display.max columns none 在pycharm下可以顯示所有列 pd.set options display.max rows none 在pycharm下可以顯示所有行 給每一列命名,注意第一行的設定 data...