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

Pandas讀取并修改excel的示例代碼

 更新時(shí)間:2019年02月17日 08:31:26   作者:Debris丶  
這篇文章主要介紹了Pandas讀取并修改excel的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧

一、前言

最近總是和excel打交道,由于數(shù)據(jù)量較大,人工來修改某些數(shù)據(jù)可能會(huì)有點(diǎn)浪費(fèi)時(shí)間,這時(shí)候就使用到了Python數(shù)據(jù)處理的神器—–Pandas庫(kù),話不多說,直接上Pandas。

二、安裝

這次使用的python版本是python2.7,安裝python可以去python的官網(wǎng)進(jìn)行下載,這里不多說了。

安裝完成后使用Python自帶的包管理工具pip可以很快的安裝pandas。

pip install pandas

如果使用的是Anaconda安裝的Python,會(huì)自帶pandas。

三、read_excel()介紹

首先可以先創(chuàng)建一個(gè)excel文件當(dāng)作實(shí)驗(yàn)數(shù)據(jù),名稱為example.xlsx,內(nèi)容如下:

name age gender
John 30 male
Mary 22 female
Smith 32 male

這里是很簡(jiǎn)單的幾行數(shù)據(jù),我們來用pandas實(shí)際操作一下這個(gè)excel表。

# coding:utf-8
import pandas as pd

data = pd.read_excel('example.xlsx', sheet_name='Sheet1')
print data

結(jié)果如下:

這里使用了read_excel()方法來讀取excel,來看一個(gè)read_excel()這個(gè)方法的API,這里只截選一部分經(jīng)常使用的參數(shù):

pd.read_excel(io, sheet_name=0, header=0, names=None, index_col=None, usecols=None)

這里主要參數(shù)為io,sheet_name,header,usecols和names

  • io:excel文件,如果命名為中文,在python2.7中,需要使用decode()來解碼成unicode字符串,例如: pd.read_excel('示例'.decode('utf-8))
  • sheet_name:返回指定的sheet,如果將sheet_name指定為None,則返回全表,如果需要返回多個(gè)表,可以將sheet_name指定為一個(gè)列表,例如['sheet1', 'sheet2']
  • header:指定數(shù)據(jù)表的表頭,默認(rèn)值為0,即將第一行作為表頭。
  • usecols:讀取指定的列,例如想要讀取第一列和第二列數(shù)據(jù):
pd.read_excel("example.xlsx", sheet_name=None, usecols=[0, 1])

四、使用

這里先來一個(gè)在機(jī)器學(xué)習(xí)中經(jīng)常使用的:將所有g(shù)ender為male的值改為0,female改為1。

# coding:utf-8
import pandas as pd
from pandas import DataFrame

# 讀取文件
data = pd.read_excel("example.xlsx", sheet_name="Sheet1")

# 找到gender這一列,再在這一列中進(jìn)行比較
data['gender'][data['gender'] == 'male'] = 0
data['gender'][data['gender'] == 'female'] = 1
print data

結(jié)果如下:

需要注意的是,這里的data為excel數(shù)據(jù)的一份拷貝,對(duì)data進(jìn)行修改并不會(huì)直接影響到我們?cè)瓉淼膃xcel,必須在修改后保存才能夠修改excel。保存的代碼如下:

DataFrame(data).to_excel('example.xlsx', sheet_name='Sheet1', index=False, header=True)

這時(shí)候我們?cè)俅蜷_example.xlsx文件看看是否更改了:

 

如果我們想要新增加一列或者一行數(shù)據(jù)怎么辦呢?這里給出參考:

新增列數(shù)據(jù):

data['列名稱'] = None

新增行數(shù)據(jù),這里行的num為excel中自動(dòng)給行加的id數(shù)值

data.loc[行的num] = [值1, 值2, ...]

以上面的數(shù)據(jù)為例:

# coding:utf-8
import pandas as pd
from pandas import DataFrame

data = pd.read_excel("example.xlsx", sheet_name='Sheet1')

# 增加行數(shù)據(jù),在第5行新增
data.loc[5] = ['James', 32, 'male']

# 增加列數(shù)據(jù),給定默認(rèn)值None
data['profession'] = None

# 保存數(shù)據(jù)
DataFrame(data).to_excel('example.xlsx', sheet_name='Sheet1', index=False, header=True)

打開excel看到的結(jié)果如下:

說完了增加一行或一列,那怎樣刪除一行或一列呢?

import pandas as pd
from pandas import DataFrame

data = pd.read_excel("example.xlsx", sheet_name='Sheet1')

# 刪除gender列,需要指定axis為1,當(dāng)刪除行時(shí),axis為0
data = data.drop('gender', axis=1)

# 刪除第3,4行,這里下表以0開始,并且標(biāo)題行不算在類
data = data.drop([2, 3], axis=0)

# 保存
DataFrame(data).to_excel('example.xlsx', sheet_name='Sheet1', index=False, header=True)

這時(shí)候打開excel可以看見gender列和除標(biāo)題行的第3,4行被刪除了。

總結(jié)

pandas除了上述的基本功能以外,還有其它更高級(jí)的操作,想要進(jìn)一步學(xué)習(xí)的小伙伴們可以去pandas網(wǎng)站進(jìn)行學(xué)習(xí)。

相關(guān)文章

  • Python實(shí)現(xiàn)網(wǎng)站表單提交和模板

    Python實(shí)現(xiàn)網(wǎng)站表單提交和模板

    今天小編就為大家分享一篇關(guān)于Python實(shí)現(xiàn)網(wǎng)站表單提交和模板,小編覺得內(nèi)容挺不錯(cuò)的,現(xiàn)在分享給大家,具有很好的參考價(jià)值,需要的朋友一起跟隨小編來看看吧
    2019-01-01
  • 有趣的Python圖片制作之如何用QQ好友頭像拼接出里昂

    有趣的Python圖片制作之如何用QQ好友頭像拼接出里昂

    這篇文章主要介紹了有趣的Python圖片制作之如何用QQ好友頭像拼接出里昂,本文通過截圖實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-04-04
  • python由已知數(shù)組快速生成新數(shù)組的方法

    python由已知數(shù)組快速生成新數(shù)組的方法

    這篇文章主要介紹了python由已知數(shù)組快速生成新數(shù)組的方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-04-04
  • Python使用psutil庫(kù)實(shí)現(xiàn)系統(tǒng)監(jiān)控與管理詳解

    Python使用psutil庫(kù)實(shí)現(xiàn)系統(tǒng)監(jiān)控與管理詳解

    在我們的測(cè)試工作中,監(jiān)控和管理系統(tǒng)資源是一項(xiàng)重要的任務(wù),本文將介紹如何使用psutil庫(kù)來實(shí)現(xiàn)系統(tǒng)監(jiān)控和管理,以及一些實(shí)用的技巧和示例,希望對(duì)大家有所幫助
    2022-10-10
  • Python中如何使用if語(yǔ)句處理列表實(shí)例代碼

    Python中如何使用if語(yǔ)句處理列表實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于在Python中如何使用if語(yǔ)句處理列表的相關(guān)資料,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來一起學(xué)習(xí)學(xué)習(xí)吧
    2019-02-02
  • python實(shí)現(xiàn)Flappy Bird源碼

    python實(shí)現(xiàn)Flappy Bird源碼

    這篇文章主要為大家詳細(xì)介紹了python實(shí)現(xiàn)Flappy Bird源碼,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-12-12
  • pandas的object對(duì)象轉(zhuǎn)時(shí)間對(duì)象的方法

    pandas的object對(duì)象轉(zhuǎn)時(shí)間對(duì)象的方法

    下面小編就為大家分享一篇pandas的object對(duì)象轉(zhuǎn)時(shí)間對(duì)象的方法,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。一起跟隨小編過來看看吧
    2018-04-04
  • python實(shí)現(xiàn)根據(jù)主機(jī)名字獲得所有ip地址的方法

    python實(shí)現(xiàn)根據(jù)主機(jī)名字獲得所有ip地址的方法

    這篇文章主要介紹了python實(shí)現(xiàn)根據(jù)主機(jī)名字獲得所有ip地址的方法,涉及Python解析IP地址的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06
  • 淺析Python中的隨機(jī)采樣和概率分布

    淺析Python中的隨機(jī)采樣和概率分布

    Python中包含了很多概率算法,包括基礎(chǔ)的隨機(jī)采樣以及許多經(jīng)典的概率分布生成。本文主要介紹了我們?cè)跈C(jī)器學(xué)習(xí)中常用的概率函數(shù)。感興趣的同學(xué)可以了解一下
    2021-12-12
  • 利用python實(shí)現(xiàn)微信頭像加紅色數(shù)字功能

    利用python實(shí)現(xiàn)微信頭像加紅色數(shù)字功能

    通過Python實(shí)現(xiàn)將你的 QQ 頭像(或者微博頭像)右上角加上紅色的數(shù)字,類似于微信未讀信息數(shù)量那種提示效果。下面通過本文給大家分享python實(shí)現(xiàn)微信頭像加紅色數(shù)字功能,感興趣的朋友一起看看吧
    2018-03-03

最新評(píng)論