溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

Pandas怎么實(shí)現(xiàn)Excel文件讀取,增刪,打開和保存操作

發(fā)布時(shí)間:2023-05-08 16:56:02 來源:億速云 閱讀:99 作者:iii 欄目:開發(fā)技術(shù)

這篇文章主要講解了“Pandas怎么實(shí)現(xiàn)Excel文件讀取,增刪,打開和保存操作”,文中的講解內(nèi)容簡(jiǎn)單清晰,易于學(xué)習(xí)與理解,下面請(qǐng)大家跟著小編的思路慢慢深入,一起來研究和學(xué)習(xí)“Pandas怎么實(shí)現(xiàn)Excel文件讀取,增刪,打開和保存操作”吧!

前言

Pandas 是一種基于 NumPy 的開源數(shù)據(jù)分析工具,用于處理和分析大量數(shù)據(jù)。Pandas 模塊提供了一組高效的工具,可以輕松地讀取、處理和分析各種類型的數(shù)據(jù),包括 CSV、Excel、SQL 數(shù)據(jù)庫(kù)、JSON 等格式的數(shù)據(jù)。

一、Pandas 的主要函數(shù)包括

pd.read_csv() / pd.read_excel() / pd.read_sql() 等:讀取不同格式的數(shù)據(jù)文件或 SQL 數(shù)據(jù)庫(kù)的數(shù)據(jù)。

DataFrame():創(chuàng)建數(shù)據(jù)框。

df.head() / df.tail():查看數(shù)據(jù)框的前幾行或后幾行。

df.info():查看數(shù)據(jù)框的基本信息。

df.describe():查看數(shù)據(jù)框的統(tǒng)計(jì)信息。

df.drop():刪除數(shù)據(jù)框的行或列。

df.rename():重命名數(shù)據(jù)框的行或列。

df.sort_values():按照指定列排序數(shù)據(jù)框。

df.groupby():按照指定列分組數(shù)據(jù)框。

df.apply():對(duì)指定列應(yīng)用函數(shù)。

pd.concat():合并數(shù)據(jù)框。

pd.merge():合并數(shù)據(jù)框的數(shù)據(jù)。

df.to_csv() / df.to_excel() / df.to_sql() 等:將數(shù)據(jù)框保存到不同格式的數(shù)據(jù)文件或 SQL 數(shù)據(jù)庫(kù)中。

以上是 Pandas 的一些常用函數(shù),這些函數(shù)使得數(shù)據(jù)的讀取、處理和分析變得更加方便和高效。

二、使用步驟

1.簡(jiǎn)單示例

下面是 Pandas 對(duì) Excel 文件進(jìn)行讀取、增刪、打開、保存等操作的代碼實(shí)現(xiàn):

import pandas as pd

# 讀取 Excel 文件
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')

# 查看數(shù)據(jù)
print(df)

# 增加一列數(shù)據(jù)
df['New Column'] = [1, 2, 3, 4, 5]

# 刪除一列數(shù)據(jù)
df = df.drop('New Column', axis=1)

# 打開 Excel 文件
with pd.ExcelWriter('example.xlsx') as writer:
    df.to_excel(writer, sheet_name='Sheet1', index=False)

上述代碼中,我們首先使用 pd.read_excel() 函數(shù)讀取名為 example.xlsx 的 Excel 文件的 Sheet1 工作表,并將其存儲(chǔ)在 df 變量中。接著,我們使用 print() 函數(shù)查看數(shù)據(jù)。

接下來,我們使用 df[‘New Column’] = [1, 2, 3, 4, 5] 增加一列新數(shù)據(jù),表示新列的數(shù)據(jù)分別為 1、2、3、4 和 5。然后,我們使用 df = df.drop(‘New Column’, axis=1) 刪除剛剛增加的一列數(shù)據(jù)。

最后,我們使用 pd.ExcelWriter() 函數(shù)打開 Excel 文件,然后使用 df.to_excel() 函數(shù)將數(shù)據(jù)寫入名為 example.xlsx 的工作表 Sheet1 中,并將索引列排除在外。

2.保存Excel操作

Pandas 可以通過 to_excel() 函數(shù)將數(shù)據(jù)框保存到 Excel 文件中。下面是一個(gè)示例代碼,演示如何將數(shù)據(jù)框保存到 Excel 文件中:

import pandas as pd

# 創(chuàng)建數(shù)據(jù)框
data = {'Name': ['Tom', 'Jerry', 'Mickey', 'Donald'],
        'Age': [20, 25, 22, 28],
        'Gender': ['M', 'M', 'M', 'M']}
df = pd.DataFrame(data)


# 保存數(shù)據(jù)框到 Excel 文件
df.to_excel('example.xlsx', index=False)

在上述代碼中,我們首先創(chuàng)建了一個(gè)包含姓名、年齡和性別信息的數(shù)據(jù)字典 data,然后使用 pd.DataFrame() 函數(shù)將其轉(zhuǎn)換為數(shù)據(jù)框 df。最后,我們使用 df.to_excel() 函數(shù)將數(shù)據(jù)框保存到名為 example.xlsx 的 Excel 文件中,并將索引列排除在外。

在 to_excel() 函數(shù)中,我們可以設(shè)置一些參數(shù)來控制保存的格式和內(nèi)容,例如:

  • sheet_name:指定要保存的工作表名稱。

  • header:設(shè)置是否包含表頭行,可以設(shè)置為 True 或 False。

  • index:設(shè)置是否包含索引列,可以設(shè)置為 True 或 False。

  • startrow 和 startcol:設(shè)置數(shù)據(jù)框的起始行和列。

  • float_format:設(shè)置浮點(diǎn)數(shù)的輸出格式。

  • encoding:設(shè)置保存文件時(shí)使用的編碼格式。

需要注意的是,在使用 to_excel() 函數(shù)保存數(shù)據(jù)框到 Excel 文件時(shí),需要安裝相應(yīng)的依賴庫(kù) openpyxl 或 xlsxwriter。如果沒有安裝這些依賴庫(kù),可以使用以下命令安裝:

pip install openpyxl
pip install xlsxwriter

安裝完依賴庫(kù)之后,就可以正常地將數(shù)據(jù)框保存到 Excel 文件中了。

3.刪除和添加數(shù)據(jù)

在 Pandas 中,可以使用 drop() 函數(shù)刪除數(shù)據(jù)框中的一行或一列數(shù)據(jù),使用 append() 函數(shù)添加一行或一列新的數(shù)據(jù)。下面是示例代碼,演示如何刪除一行或一列數(shù)據(jù)以及添加一行或一列新的數(shù)據(jù):

import pandas as pd

# 創(chuàng)建數(shù)據(jù)框
data = {'Name': ['Tom', 'Jerry', 'Mickey', 'Donald'],
        'Age': [20, 25, 22, 28],
        'Gender': ['M', 'M', 'M', 'M']}
df = pd.DataFrame(data)

# 刪除一行數(shù)據(jù)
df = df.drop(0)  # 刪除第一行數(shù)據(jù)
print(df)

# 刪除一列數(shù)據(jù)
df = df.drop('Gender', axis=1)  # 刪除“Gender”列
print(df)

# 添加一行新數(shù)據(jù)
new_data = {'Name': 'Daisy', 'Age': 24, 'Gender': 'F'}
df = df.append(new_data, ignore_index=True)  # 添加一行新數(shù)據(jù)
print(df)

# 添加一列新數(shù)據(jù)
new_column = ['A', 'B', 'C', 'D']
df['NewColumn'] = new_column  # 添加一列新數(shù)據(jù)
print(df)

在上述代碼中,我們首先創(chuàng)建了一個(gè)包含姓名、年齡和性別信息的數(shù)據(jù)字典 data,然后使用 pd.DataFrame() 函數(shù)將其轉(zhuǎn)換為數(shù)據(jù)框 df。接著,我們使用 drop() 函數(shù)刪除了第一行數(shù)據(jù)和“Gender”列,并使用 append() 函數(shù)添加了一行新數(shù)據(jù)和一列新數(shù)據(jù)。最后,我們打印出修改后的數(shù)據(jù)框。

在 drop() 函數(shù)中,我們需要指定要?jiǎng)h除的行或列的標(biāo)簽,并設(shè)置參數(shù) axis=0 表示刪除行,設(shè)置 axis=1 表示刪除列。

在 append() 函數(shù)中,我們需要指定要添加的新數(shù)據(jù),可以是字典、列表或數(shù)據(jù)框。參數(shù) ignore_index=True 表示忽略原始數(shù)據(jù)框的索引,并為新添加的行分配新的索引值。

添加新列時(shí),我們可以直接為數(shù)據(jù)框 df 新建一個(gè)列,并將新數(shù)據(jù)賦值給這個(gè)列即可。需要注意的是,新數(shù)據(jù)的長(zhǎng)度必須與數(shù)據(jù)框的行數(shù)相同。

4.添加新的表單

在 Pandas 中,可以使用 ExcelWriter() 對(duì)象來向 Excel 文件中添加新的表單。下面是示例代碼,演示如何向 Excel 文件中添加新的表單:

import pandas as pd

# 讀取 Excel 文件
excel_file = pd.ExcelFile('example.xlsx')

# 創(chuàng)建 ExcelWriter 對(duì)象
writer = pd.ExcelWriter('example.xlsx', engine='openpyxl')

# 讀取原始數(shù)據(jù)表單
df = pd.read_excel(excel_file, sheet_name='Sheet1')

# 添加新表單
new_data = {'Name': ['Alice', 'Bob', 'Charlie'],
            'Age': [25, 30, 35]}
df_new = pd.DataFrame(new_data)
df_new.to_excel(writer, sheet_name='Sheet2', index=False)

# 保存 Excel 文件
writer.save()

在上述代碼中,我們首先使用 ExcelFile() 函數(shù)讀取了一個(gè)名為 example.xlsx 的 Excel 文件。接著,我們使用 ExcelWriter() 函數(shù)創(chuàng)建了一個(gè)名為 writer 的 ExcelWriter 對(duì)象,用于向 Excel 文件中添加新的表單。然后,我們使用 read_excel() 函數(shù)讀取了原始數(shù)據(jù)表單,并將其存儲(chǔ)在數(shù)據(jù)框 df 中。接著,我們創(chuàng)建了一個(gè)包含姓名和年齡信息的數(shù)據(jù)字典 new_data,并使用 pd.DataFrame() 函數(shù)將其轉(zhuǎn)換為數(shù)據(jù)框 df_new。然后,我們使用 to_excel() 函數(shù)將數(shù)據(jù)框 df_new 寫入到名為 Sheet2 的新表單中,并設(shè)置參數(shù) index=False 表示不將索引寫入 Excel 文件。最后,我們使用 save() 函數(shù)保存 Excel 文件。

需要注意的是,在使用 ExcelWriter() 對(duì)象向 Excel 文件中添加新的表單時(shí),需要指定參數(shù) engine=‘openpyxl’,以使用 openpyxl 引擎來處理 Excel 文件。同時(shí),在使用 to_excel() 函數(shù)寫入數(shù)據(jù)時(shí),需要傳遞 ExcelWriter 對(duì)象和新表單的名稱。

感謝各位的閱讀,以上就是“Pandas怎么實(shí)現(xiàn)Excel文件讀取,增刪,打開和保存操作”的內(nèi)容了,經(jīng)過本文的學(xué)習(xí)后,相信大家對(duì)Pandas怎么實(shí)現(xiàn)Excel文件讀取,增刪,打開和保存操作這一問題有了更深刻的體會(huì),具體使用情況還需要大家實(shí)踐驗(yàn)證。這里是億速云,小編將為大家推送更多相關(guān)知識(shí)點(diǎn)的文章,歡迎關(guān)注!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI