精品欧美一区二区三区在线观看 _久久久久国色av免费观看性色_国产精品久久在线观看_亚洲第一综合网站_91精品又粗又猛又爽_小泽玛利亚一区二区免费_91亚洲精品国偷拍自产在线观看 _久久精品视频在线播放_美女精品久久久_欧美日韩国产成人在线

用 Pandas 處理結(jié)構(gòu)不佳的 Excel 文件

數(shù)據(jù)庫 其他數(shù)據(jù)庫
本文將討論如何使用pandas和openpyxl來讀取這些類型的Excel文件,并干凈地將數(shù)據(jù)轉(zhuǎn)換為適合進(jìn)一步分析的DataFrame。

?簡介

用pandas很容易讀取Excel文件并將數(shù)據(jù)轉(zhuǎn)換為DataFrame。然而現(xiàn)實(shí)世界中的Excel文件往往構(gòu)造不佳,在那些數(shù)據(jù)散落在工作表中的情況下,你可能需要定制讀取數(shù)據(jù)的方式。本文將討論如何使用pandas和openpyxl來讀取這些類型的Excel文件,并干凈地將數(shù)據(jù)轉(zhuǎn)換為適合進(jìn)一步分析的DataFrame。

問題

pandas 的 read_excel函數(shù)在讀取Excel工作表方面做得很好。然而,在數(shù)據(jù)不是從A1單元格開始的連續(xù)表格的情況下,結(jié)果可能不是你所期望的那樣。

比如當(dāng)你嘗試使用 read_excel(src_file)讀取下面這個(gè)電子表格樣本。

圖片

你會(huì)得到一些下面這樣的東西。

圖片

這些結(jié)果包括很多 Unnamed的列、行內(nèi)的標(biāo)題標(biāo)簽以及一些我們不需要的額外列。

Pandas解決方案

對(duì)于這個(gè)數(shù)據(jù)集,最簡單的解決方案是使用 read_excel()?的 header?和 usecols?參數(shù)。尤其是 usecols參數(shù),對(duì)于控制你想包括的列非常有用。

如果你想繼續(xù)學(xué)習(xí)這些例子,文件在github上。

https://github.com/chris1610/pbpython/blob/master/data/shipping_tables.xlsx

下面是一個(gè)替代方法,只讀取我們需要的數(shù)據(jù)。

import pandas as pd

from pathlib importPath

src_file = Path.cwd() / 'shipping_tables.xlsx'



df = pd.read_excel(src_file, header=1, usecols='B:F')

產(chǎn)生的DataFrame只包含我們需要的數(shù)據(jù)。在這個(gè)例子中,我們特意排除了備注欄和日期欄。

圖片

usecols?可以接受Excel范圍,如 B:F?,并只讀入這些列。header?參數(shù)期望一個(gè)定義標(biāo)題列的單一整數(shù)。這個(gè)值是以0為索引的,所以我們傳入 1,盡管這是Excel的第2行。

在某些情況下,我們可能希望將列定義為一個(gè)數(shù)字列表。在這個(gè)例子中,我們可以定義為整數(shù)的列表。

df = pd.read_excel(src_file, header=1, usecols=[1,2,3,4,5])

如果你對(duì)一個(gè)大的數(shù)據(jù)集有某種想要遵循的數(shù)字模式(即每3列或只有偶數(shù)列),這種方法可能會(huì)很有用。

pandas的 usecols也可以接受一個(gè)列名的列表。這段代碼將創(chuàng)建一個(gè)等效的DataFrame。

# Define a more complex function:

def column_check(x):

if'unnamed'in x.lower():

returnFalse

if'priority'in x.lower():

returnFalse

if'order'in x.lower():

returnTrue

returnTrue



df = pd.read_excel(src_file, header=1, usecols=column_check)

需要記住的關(guān)鍵概念是,該函數(shù)將按名稱解析每一列,必須為每一列返回 True?或 False?。那些被評(píng)估為 True的列將被包括在內(nèi)。

另一種使用可調(diào)用函數(shù)的方法是包含一個(gè) lambda表達(dá)式。這里有一個(gè)例子,我們想只包括一個(gè)定義好的列的列表。我們通過將名稱轉(zhuǎn)換為小寫字母來進(jìn)行規(guī)范化,以便于比較。

cols_to_use = ['item_type', 'order id', 'order date', 'state', 'priority']

df = pd.read_excel(src_file,

header=1,

usecols=lambda x: x.lower() in cols_to_use)

可調(diào)用函數(shù)給了我們很大的靈活性來處理現(xiàn)實(shí)世界中混亂的Excel文件。

區(qū)間和表格

在某些情況下,數(shù)據(jù)在Excel中可以更加模糊不清。在這個(gè)例子中,我們有一個(gè)叫做 ship_cost的表,我們想讀取它。如果你必須處理這樣的文件,用我們到目前為止討論過的pandas選項(xiàng)來讀入可能是個(gè)挑戰(zhàn)。

圖片

在這種情況下,我們可以直接使用openpyxl來解析文件并將數(shù)據(jù)轉(zhuǎn)換成pandas DataFrame。事實(shí)上,數(shù)據(jù)是在一個(gè)Excel表格中,可以使這個(gè)過程更容易一些。

下面是如何使用openpyxl來讀取Excel文件。

from openpyxl import load_workbook

import pandas as pd

from pathlib importPath

src_file = src_file = Path.cwd() / 'shipping_tables.xlsx'



wb = load_workbook(filename = src_file)

這將加載整個(gè)工作簿。如果我們想看到所有的工作表。

wb.sheetnames
['sales', 'shipping_rates']

要訪問具體的工作表。

sheet = wb['shipping_rates']

要查看所有命名的表的列表。

sheet.tables.keys()
dict_keys(['ship_cost'])

這個(gè)鍵對(duì)應(yīng)于我們?cè)贓xcel中分配給表的名稱?,F(xiàn)在我們?cè)L問該表,以獲得相當(dāng)于Excel的范圍。

lookup_table = sheet.tables['ship_cost']

lookup_table.ref
'C8:E16'

這就成功了。我們現(xiàn)在知道了我們要加載的數(shù)據(jù)范圍。最后一步是將這個(gè)范圍轉(zhuǎn)換為pandas DataFrame。下面是一個(gè)簡短的代碼片段,用來循環(huán)瀏覽每一行并轉(zhuǎn)換為一個(gè)DataFrame。

# Access the data in the table range

data = sheet[lookup_table.ref]

rows_list = []



# Loop through each row and get the values in the cells

for row in data:

# Get a list of all columns in each row

cols = []

for col in row:

cols.append(col.value)

rows_list.append(cols)



# Create a pandas dataframe from the rows_list.

# The first row is the column names

df = pd.DataFrame(data=rows_list[1:], index=None, columns=rows_list[0])

下面是產(chǎn)生的數(shù)據(jù)框架。

圖片

現(xiàn)在我們有了干凈的表格,可以用于進(jìn)一步的計(jì)算。

總結(jié)

在一個(gè)理想的條件下,我們使用的數(shù)據(jù)應(yīng)該擁有一個(gè)簡單一致的格式。在本文的例子中,我們可以很容易地刪除行和列,使之更符合格式要求。然而,有些時(shí)候,這樣做是不可行的,也是不可取的。好消息是,pandas和openpyxl為我們提供了讀取Excel數(shù)據(jù)所需的所有工具。?

責(zé)任編輯:武曉燕 來源: Python中文社區(qū)
相關(guān)推薦

2020-10-29 06:02:44

PythonPandasExcel

2020-08-14 11:01:32

數(shù)據(jù)Pandas文件

2021-01-13 11:13:46

ExcelPandas代碼

2023-08-30 09:16:38

PandasPython

2018-02-08 09:37:27

Pandas大數(shù)據(jù)Spark

2022-08-25 17:47:21

PythonExcel

2021-02-06 14:55:05

大數(shù)據(jù)pandas數(shù)據(jù)分析

2025-08-01 06:10:00

Pandas數(shù)據(jù)處理Excel

2023-12-05 08:47:30

Pandas數(shù)據(jù)處理

2012-02-01 10:50:49

JavaWeb報(bào)表

2022-12-30 15:29:35

數(shù)據(jù)分析工具Pandas

2022-07-25 11:33:48

Python大文件

2022-02-22 09:25:11

PandasETL數(shù)據(jù)分析

2023-12-12 11:06:37

PythonPandas數(shù)據(jù)

2017-02-28 10:54:40

Pandas

2024-05-13 11:43:39

Python數(shù)據(jù)分析CSV

2023-09-20 10:04:04

Python工具

2013-03-15 13:45:58

2022-07-14 07:12:09

PythonPandasVBA

2022-05-24 09:52:37

Spark SQL大數(shù)據(jù)處理Hive
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)

麻豆传媒在线免费| 欧美成人一区二区视频| 精品一区二区男人吃奶| 欧美日韩国产一区在线| 日韩成人av电影在线| 国产精品-色哟哟| 国产午夜精品一区二区三区欧美| 香蕉av福利精品导航| 久久精品aaaaaa毛片| 亚洲永久精品视频| 亚洲区国产区| 最新国产精品拍自在线播放| 亚洲制服在线观看| 日本三级一区| 亚洲天堂a在线| 欧美激情一区二区三区在线视频| 日本亚洲欧美在线| 青青草国产成人a∨下载安卓| 精品国产福利在线| 一区二区在线中文字幕电影视频| 日本a级c片免费看三区| 一区二区电影在线观看| 亚洲一区www| 国产伦精品一区二区免费| 亚洲精品乱码日韩| 欧美性开放视频| 18禁裸男晨勃露j毛免费观看| av免费在线不卡| 日韩av不卡在线观看| 欧美激情一级欧美精品| 久久中文字幕精品| 久久综合五月婷婷| 日韩欧美视频在线| 成年人三级黄色片| 国产一区二区三区朝在线观看| 国产欧美日韩另类一区| 国产欧美日韩一区| 一级做a爱片性色毛片| 亚洲专区免费| 午夜精品理论片| 久久久国产精华液| 中文字幕一区二区三区久久网站| 精品国精品国产尤物美女| 夜夜夜夜夜夜操| 成人全视频在线观看在线播放高清| 国产精品久久久久9999吃药| 欧美日韩一区二区视频在线| 刘亦菲毛片一区二区三区| 国产尤物一区二区在线| 国产精品久久av| 日本成人一级片| 久久人人97超碰国产公开结果| 在线视频中文亚洲| 欧美多人猛交狂配| 色狼人综合干| 日韩经典第一页| 欧美大喷水吹潮合集在线观看| 另类中文字幕国产精品| 欧美午夜xxx| 97xxxxx| 欧美男男tv网站在线播放| 性感美女极品91精品| 无码专区aaaaaa免费视频| av在线中出| 亚洲综合男人的天堂| 日韩一级免费看| 55av亚洲| 黑人巨大精品欧美一区二区一视频| 亚洲永久激情精品| 成年人在线视频| 日韩一区在线免费观看| 国产人妻人伦精品| 国产精品探花在线| 午夜视频久久久久久| 黄www在线观看| 成人开心激情| 欧美精品久久一区| 久久久精品视频国产| 国产精品香蕉| 亚洲人成免费电影| 久久久久麻豆v国产| 一区二区在线影院| 91高潮精品免费porn| 蜜臀99久久精品久久久久小说| 在线观看一区| 2018中文字幕一区二区三区| 正在播放木下凛凛xv99| 国产综合成人久久大片91| 国产日韩欧美综合精品| 可以在线观看的av| 亚洲美女偷拍久久| 日本一本中文字幕| 青青热久免费精品视频在线18| 午夜伊人狠狠久久| 福利在线一区二区三区| 精品三级久久久| 亚洲精品资源美女情侣酒店| 永久免费看mv网站入口| 韩日视频一区| 国产成人久久久精品一区| 国产露脸91国语对白| 99精品久久99久久久久| 伊人色综合久久天天五月婷| 91制片在线观看| 欧美私模裸体表演在线观看| 人妻换人妻a片爽麻豆| 第一sis亚洲原创| 久久久在线视频| 亚洲天堂网在线视频| 99久久综合狠狠综合久久| 亚洲五月六月| 亚洲美女炮图| 日韩免费一区二区| 超碰人人干人人| 99精品国产在热久久| 91亚洲国产精品| av在线免费播放网站| 午夜电影久久久| 黄色a级三级三级三级| 国内精品久久久久久久影视简单| 亚洲人午夜精品免费| 久久国产免费观看| 九九热在线视频观看这里只有精品| 国产欧美一区二区三区久久人妖| 在线播放亚洲精品| 久久蜜桃一区二区| 亚洲精品蜜桃久久久久久| 国产成人免费视频网站视频社区| 91精品国产91久久综合桃花| 精品一区二区三区蜜桃在线| 国产精品毛片| 国产综合色一区二区三区| 香蕉久久aⅴ一区二区三区| 欧美日韩五月天| 国产一区二区三区四区五区六区| re久久精品视频| 国模精品一区二区三区色天香| 国产免费一区二区三区四区五区| 日韩国产一区二| 精品久久久久久乱码天堂| 青草在线视频| 欧美大胆人体bbbb| 国产黄色片在线免费观看| 韩国av一区二区三区四区| 亚洲视频sss| 精品国产美女a久久9999| 一个色综合导航| 久久这里只有精品9| 久久精品日产第一区二区三区高清版 | 国产免费拔擦拔擦8x在线播放| 午夜国产精品一区| 免费日本黄色网址| 亚洲美女啪啪| 鲁鲁视频www一区二区| 日本在线高清| 亚洲欧美制服第一页| 人妻丰满熟妇av无码区| 91免费版在线看| 日韩欧美xxxx| 精品国产精品久久一区免费式| 久久精品成人欧美大片古装| 在线免费观看中文字幕| 日韩理论片网站| 手机看片国产精品| 伊人狠狠色j香婷婷综合| 国产一区二区三区av在线| 蜜臀av在线| 日韩精品一区二区三区第95| 久久久久久无码精品大片| 欧美激情在线看| 黄色aaaaaa| 欧美日韩天堂| 久久综合九色99| 99re66热这里只有精品4| 最新日韩中文字幕| 亚洲高清视频在线播放| 狠狠躁夜夜躁人人爽天天天天97| 57pao国产成永久免费视频| 亚洲欧美偷拍自拍| 成人动漫视频在线观看完整版 | 2020国产精品| 毛片av免费在线观看| 秋霞欧美视频| 亚洲综合自拍一区| 亚洲国产成人二区| www.日韩视频| 欧美一级视频免费| 欧美中文字幕不卡| 久久精品波多野结衣| 久久网这里都是精品| 在线观看免费污视频| 红桃视频亚洲| 日韩在线三级| 都市激情久久| 国产精品成人播放| 少女频道在线观看高清| 一本久久综合亚洲鲁鲁| 亚洲av无码乱码国产精品久久| 亚洲欧美偷拍卡通变态| 人人妻人人澡人人爽人人精品| 亚洲激情一区| 亚洲啪啪av| 国产日韩三级| 91久久久亚洲精品| 另类专区亚洲| 久久久久国产精品www| 1区2区3区在线观看| 国产丝袜一区二区三区| 99久久久久久久| 色噜噜狠狠色综合欧洲selulu| 一卡二卡三卡四卡| 国产xxx精品视频大全| 色婷婷综合网站| 亚洲专区一区| 美脚丝袜脚交一区二区| 亚洲成人日韩| 亚洲国产日韩综合一区| 里番精品3d一二三区| 91精品视频免费看| 日韩国产网站| 青草热久免费精品视频 | 欧美精品在线极品| 成人免费视频| 国产婷婷成人久久av免费高清| 亚洲欧美综合另类| 亚洲成人动漫av| 激情四射综合网| 自拍偷拍国产精品| 国产精品久久免费观看| 久久婷婷综合激情| 鲁大师私人影院在线观看| 高清国产一区二区三区| 欧美日韩久久婷婷| 精品一区二区在线观看| 日本激情综合网| 日本不卡一区二区| av免费网站观看| 午夜在线播放视频欧美| 九九热只有这里有精品| 韩国欧美一区| 免费在线看黄色片| 国产精品va| 日韩精品在线视频免费观看| 欧美国内亚洲| 久久综合亚洲精品| 韩日成人av| 日韩欧美一区二| 99精品国产99久久久久久福利| 亚洲7777| 成人中文视频| 亚洲精品高清视频| 91视频综合| 色中文字幕在线观看| 亚洲国产精品成人| 国产一级黄色录像片| 国产精品v日韩精品v欧美精品网站| 久久综合一区| 精品美女视频| 亚洲一区三区视频在线观看| 国产精品久久久久久影院8一贰佰 国产精品久久久久久麻豆一区软件 | 欧洲女同同性吃奶| 国产亚洲1区2区3区| 精品人妻互换一区二区三区 | 亚洲国产果冻传媒av在线观看| 麻豆传媒一区二区三区| 手机av在线网| 国产精品18久久久| 国产伦精品一区二区免费| 久久综合色婷婷| 少妇久久久久久久久久| 欧美国产日韩a欧美在线观看| 蜜桃色一区二区三区| 99re这里都是精品| 性欧美一区二区| 亚洲色图.com| 国产精品成人免费一区二区视频| 国产精品毛片久久久久久| 欧美人与禽zoz0善交| 亚洲情趣在线观看| 99久在线精品99re8热| 在线视频你懂得一区二区三区| 国产午夜精品无码一区二区| 色婷婷亚洲综合| 91av久久久| 亚洲国产中文字幕久久网| 黄色在线小视频| 欧美成人精品一区二区| 亚洲天堂电影| 国产日韩欧美夫妻视频在线观看| 欧美日韩视频网站| 成人国产亚洲精品a区天堂华泰 | 91系列在线观看| 美腿丝袜亚洲图片| 亚洲国产一区在线| 一区二区亚洲| 玖玖爱视频在线| 91亚洲资源网| 在线免费看av网站| 图片区日韩欧美亚洲| 夜夜躁很很躁日日躁麻豆| 精品国产区一区| √新版天堂资源在线资源| 国模私拍一区二区三区| 成人乱码手机视频| 欧洲一区二区日韩在线视频观看免费| 欧美a一欧美| 国产免费一区二区三区四在线播放| 欧美独立站高清久久| 国产va亚洲va在线va| 蜜桃视频在线观看一区| 黄色国产在线观看| 亚洲精品视频一区二区| 国产精品成人久久久| 亚洲精品国产精品自产a区红杏吧 亚洲精品国产精品乱码不99按摩 亚洲精品国产精品久久清纯直播 亚洲精品国产精品国自产在线 | 国产欧美精品va在线观看| 国产66精品| 久久99国产精品一区| 日韩影院免费视频| 精品熟女一区二区三区| 亚洲一区二区四区蜜桃| 在线观看视频二区| 亚洲精品日韩在线| 国产99在线| 岛国视频一区| 欧美福利网址| 国产高清av片| 亚洲欧洲在线观看av| 天天干在线播放| 亚洲风情亚aⅴ在线发布| 麻豆传媒视频在线| 国产精品视频免费在线| 国产一区二区在线| 国产成人精品视频免费看| 成人免费av在线| 久草免费新视频| 日韩欧美二区三区| а√天堂官网中文在线| 91香蕉亚洲精品| 亚洲精品网址| 污视频在线观看免费网站| 中文字幕在线观看不卡视频| 亚洲中文字幕一区二区| 伊人伊成久久人综合网站| 欧美影视资讯| 午夜欧美性电影| 美女在线观看视频一区二区| 日本美女bbw| 91.com在线观看| 成人影院www在线观看| 亚洲aⅴ日韩av电影在线观看| 欧美人与动xxxxz0oz| 亚洲美免无码中文字幕在线 | 91日本视频在线| 91tv官网精品成人亚洲| 欧美性受xxxx黒人xyx性爽| 一区二区三区在线影院| 亚洲精品综合久久| 久久久噜噜噜久久| 清纯唯美亚洲经典中文字幕| 全黄性性激高免费视频| 99久久精品久久久久久清纯| 天天操天天操天天操天天| 国产性猛交xxxx免费看久久| av成人免费看| 国产人妻人伦精品| 99精品久久只有精品| 亚洲国产av一区二区三区| 日韩最新在线视频| 日韩精品视频中文字幕| 欧洲精品一区二区三区久久| 久久婷婷色综合| 国产又色又爽又黄又免费| 欧美精品一区在线播放| 欧美自拍视频| 天天操天天爱天天爽| 亚洲欧洲综合另类| 色婷婷视频在线| 国产精品美女免费视频| 亚洲深深色噜噜狠狠爱网站| 少妇被狂c下部羞羞漫画| 日本乱人伦一区| 羞羞视频在线观看不卡| 久久精品丝袜高跟鞋| 麻豆一区二区三区| 久久亚洲av午夜福利精品一区| 精品污污网站免费看| 成人免费看片| 鲁丝一区二区三区免费| 久久av中文字幕片| 亚洲精品午夜久久久久久久| 亚洲欧美日韩高清| 日韩城人网站| 男女视频网站在线观看| 中文字幕一区二区在线观看| 狠狠人妻久久久久久综合麻豆 | 亚洲国产美女视频| 日韩电影免费观看中文字幕 | 天天射成人网| 香港三级日本三级| 欧美久久久久久蜜桃|