精品欧美一区二区三区在线观看 _久久久久国色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)

欧美黄色一级生活片| 日韩国产精品一区二区三区| a级片在线观看免费| 一区二区三区在线免费看| 亚洲综合无码一区二区| 久久国产精品-国产精品| 国产一级片免费视频| 性欧美欧美巨大69| 亚洲精品国产福利| 亚洲 中文字幕 日韩 无码| 欧美日本高清| 国产aⅴ精品一区二区三区色成熟| 88xx成人精品| 黄色av片三级三级三级免费看| 狂野欧美xxxx韩国少妇| 精品久久香蕉国产线看观看gif| 色视频一区二区三区| av在线亚洲天堂| 久久精品主播| 欧美极品xxxx| 天堂资源在线视频| 成人在线视频你懂的| 欧美三级中文字幕| 日本福利视频一区| 日本视频在线播放| eeuss影院一区二区三区| 国产精品欧美亚洲777777| 久久久久国产精品夜夜夜夜夜| 九九久久精品| 精品国内二区三区| 手机在线看福利| 大菠萝精品导航| 综合网在线视频| 国产日产精品一区二区三区四区| 一区二区三区亚洲视频| 美女精品网站| 久久久久久久久久久免费精品 | jizz亚洲女人高潮大叫| 亚洲国产成人av好男人在线观看| 亚洲欧美在线网| 五十路在线视频| 国产精品一区二区久激情瑜伽| 国产精品永久免费在线| 4438国产精品一区二区| 亚洲一级黄色| 欧美老少做受xxxx高潮| 亚洲色图27p| 欧美日韩性在线观看| 国产精品香蕉| 亚洲国产色一区| 日本一道在线观看| 欧美a在线看| 国产精品网站在线观看| 欧美一区二区视频在线| 欧美zzoo| 久久影院午夜论| 久久精品国产99精品国产亚洲性色| 午夜精品在线播放| 国产成人在线看| 99久久国产免费免费| 国产男女猛烈无遮挡| 国产一区二区在线看| 91精品视频在线| 国产精品久久久久久久免费看| 麻豆精品一区二区| 国产精品女视频| 亚洲影院一区二区三区| 精品一区二区三区在线播放视频| 国产精品永久在线| 国产精品免费无遮挡| 久久99精品一区二区三区三区| 国产精品综合不卡av| 97人妻精品一区二区三区动漫| 麻豆一区二区在线| 成人激情视频在线播放| 国产男男gay网站| 粉嫩一区二区三区性色av| 国产精品v欧美精品v日韩精品| 欧日韩在线视频| a在线播放不卡| 久久99精品久久久久久久久久| 男生女生差差差的视频在线观看| 久久九九99视频| 性欧美精品一区二区三区在线播放 | 丁香激情五月少妇| 国产影视一区| 日韩在线视频观看| 日韩一级片av| 国产精品久久久久毛片大屁完整版| 日韩美女写真福利在线观看| 91 中文字幕| 大胆亚洲人体视频| 欧美日韩中文国产一区发布| 日本最新在线视频| 亚洲精品v日韩精品| 91av资源网| 国精品产品一区| 欧美xxxxxxxxx| 国产精品久久久久无码av色戒| 四季av在线一区二区三区| 欧美激情久久久久| 91麻豆精品在线| 高清视频一区二区| 日韩精品国内| 国产嫩草在线视频| 欧美日韩精品欧美日韩精品一综合| 中文字幕乱码在线人视频| 中国av一区| 久久777国产线看观看精品| 欧美精品亚洲精品日韩精品| 精品一区二区三区日韩| 久久久com| av毛片在线免费看| 一道本成人在线| 麻豆精品国产传媒| 国精一区二区| 欧美极品在线视频| 久久久精品99| 日本91福利区| 国产精品xxx在线观看www| 成人欧美一区| 亚洲观看高清完整版在线观看| www.玖玖玖| 亚洲精品一区二区三区中文字幕| 国产视频亚洲视频| 国产成人自拍网站| a91a精品视频在线观看| 成人国产精品日本在线| 水中色av综合| 国产精品污污网站在线观看| 国产成人无码精品久久久性色| 亚洲成人毛片| 亚洲另类激情图| 免费一级a毛片夜夜看| 日韩一区欧美二区| 国产经典一区二区三区| av免费在线观| 欧美日精品一区视频| 欧亚乱熟女一区二区在线| 欧美激情欧美| 国产成人在线亚洲欧美| 亚洲精品字幕在线| 国产精品毛片久久久久久 | 美女诱惑黄网站一区| 亚洲jizzjizz日本少妇| 国产毛片在线看| 精品国产户外野外| 妖精视频一区二区| 一区二区在线| 国产欧美在线视频| 毛片免费在线播放| 午夜久久久久久久久| 成人三级做爰av| 先锋资源久久| 91久久久久久久一区二区| аⅴ资源新版在线天堂| 91国内精品野花午夜精品| 少妇被狂c下部羞羞漫画| 中文字幕免费一区二区三区| 国产乱肥老妇国产一区二| 亚洲区小说区图片区| 亚洲一区欧美一区| 中文字幕avav| 欧美激情在线| 91视频免费进入| 国产原创精品视频| 欧美性欧美巨大黑白大战| 女人十八毛片嫩草av| 日韩黄色一级片| 久久影院理伦片| 日本不卡网站| 亚洲国产一区自拍| 国产视频91在线| 成人免费观看视频| 极品粉嫩国产18尤物| 久久97精品| 4388成人网| 男操女在线观看| 欧洲中文字幕精品| 免费在线黄色网| 国产成人99久久亚洲综合精品| 国产性生活免费视频| xvideos.蜜桃一区二区| 国语自产精品视频在免费| 手机看片福利永久| 欧美亚洲动漫另类| 三级av在线免费观看| 免费在线观看成人| 亚洲一区二区三区精品在线观看| 国产一区影院| 欧美福利视频网站| 神马亚洲视频| 91久久精品国产91性色tv| www.4hu95.com四虎| 蜜桃视频在线观看一区| 99re6这里有精品热视频| av不卡一区二区| 国产69久久精品成人| 成人高清在线| 日韩欧美中文一区二区| 国产精品成人免费一区二区视频| 国产欧美精品一区aⅴ影院| 不卡的av中文字幕| 欧美在线黄色| 欧美高清性xxxxhd| 日韩精品第二页| 国内揄拍国内精品少妇国语| 香港伦理在线| 亚洲精品mp4| 亚洲 小说区 图片区| 亚洲综合在线观看视频| 国精产品一区一区三区免费视频| 国内精品不卡在线| 欧美成人高潮一二区在线看| 青青草97国产精品麻豆| 99久久一区三区四区免费| 久久毛片亚洲| 欧美大胆a视频| 中文字幕在线免费| 亚洲国产古装精品网站| 在线观看亚洲国产| 午夜精彩视频在线观看不卡| 国产亚洲精品久久久久久豆腐| 国产成人综合亚洲91猫咪| 亚洲高清在线免费观看| 亚洲午夜一区| 中文精品一区二区三区 | 国产午夜精品一区二区三区欧美| 天堂精品视频| 北条麻妃一区二区三区在线观看| 国产精品久久久999| 中文字幕在线播放网址| 色一情一乱一区二区| 无码h黄肉3d动漫在线观看| 欧美丰满少妇xxxxx高潮对白 | 国产高清视频在线观看| 亚洲成人av在线| 97人妻精品一区二区三区动漫| 色综合 综合色| 精品国产视频在线观看| 国产精品久久久一本精品| 大黑人交xxx极品hd| 成人深夜视频在线观看| 免费不卡av网站| 久久国产精品色| 成年网站免费在线观看| 欧美中文一区| 欧美三级午夜理伦三级中视频| 国产a免费视频| 欧美激情中文不卡| 日本理论中文字幕| 91麻豆免费看| 国产老头和老头xxxx×| 国产一区二三区| 一级黄色高清视频| 狠狠色狠狠色综合日日91app| 国产精品自在自线| 午夜亚洲一区| 大肉大捧一进一出好爽视频| 99精品热视频只有精品10| 日本高清视频免费在线观看| 亚洲国产精品综合久久久| 一区二区三区在线视频111| 欧美亚洲在线日韩| 香蕉精品视频在线| 欧美r级电影| 亚洲精品国产一区| 色婷婷热久久| 亚洲精品国产精品久久| 欧美一区国产在线| 亚洲av首页在线| 欧美激情性爽国产精品17p| 99久久久无码国产精品性色戒| 日韩欧美视频专区| 一区二区在线观| 午夜影院欧美| 大荫蒂性生交片| 亚洲国产精品第一区二区三区| 国产男女无遮挡| 日韩电影在线免费| 亚洲精品午夜在线观看| 精品一区二区久久久| 国产福利精品一区二区三区| 国产成人三级在线观看| 中国xxxx性xxxx产国| 91天堂素人约啪| 摸摸摸bbb毛毛毛片| 国产免费久久精品| 久久成人国产精品入口| 亚洲国产欧美日韩另类综合| www成人在线| 欧美在线免费观看视频| 国产色综合视频| 亚洲国产私拍精品国模在线观看| 伦理片一区二区三区| 主播福利视频一区| 中文字幕在线观看播放| 国产999精品| 成人精品在线| 精品一区二区国产| 清纯唯美综合亚洲| 青青青青在线视频| 午夜一区不卡| 999热精品视频| 91视频你懂的| 日韩欧美黄色网址| 亚洲va天堂va国产va久| 中文字幕xxxx| 欧美一级片在线观看| 国产又爽又黄网站亚洲视频123| www.欧美三级电影.com| yellow在线观看网址| 国产精品一区二区三区毛片淫片 | 国产成人一区二区三区电影| 国产精品高清一区二区| 久久精品国产美女| 小处雏高清一区二区三区| 日日摸日日碰夜夜爽av| 国产一区二区三区在线观看免费视频| 亚洲av成人精品一区二区三区| 亚洲欧洲日韩在线| 日韩人妻精品中文字幕| 日韩一区二区电影在线| 国产精品四虎| 91国语精品自产拍在线观看性色| 色综合.com| 免费一区二区三区| 中文乱码免费一区二区三区下载| 国产一区二区三区在线免费| 蜜臀va亚洲va欧美va天堂| 免费黄色三级网站| 综合久久久久久| 无码人妻丰满熟妇精品区| 日韩av一卡二卡| 日韩另类在线| 91精品视频在线播放| 精品国内自产拍在线观看视频| 欧美v在线观看| 成人永久看片免费视频天堂| 91香蕉国产视频| 色哟哟精品一区| 黄色av免费在线看| 97国产suv精品一区二区62| 欧美h版在线观看| 一本一本久久a久久精品综合妖精| 日韩中文字幕91| 成人网站免费观看| 亚洲va国产天堂va久久en| 国产免费一区二区三区最新不卡| 久久这里只有精品99| 99只有精品| 日本电影一区二区三区| 99精品国产在热久久| 国产成人无码一区二区在线观看| 一个色妞综合视频在线观看| 国产精品久久久久久久免费看| 中文字幕亚洲图片| 日韩专区视频| 亚洲精品乱码视频| 日本 国产 欧美色综合| 成熟人妻av无码专区| 精品视频免费看| 成人好色电影| 国产欧美va欧美va香蕉在| 日韩精品第一区| 欧洲在线免费视频| 亚洲视频一区在线观看| 国产免费久久久| 欧美成人精品激情在线观看| 国产精品chinese在线观看| 国产成人永久免费视频| 成人午夜激情影院| 国产一级在线视频| 日韩国产一区三区| 亚洲欧美韩国| 日本不卡免费新一二三区| 午夜在线观看免费一区| 中文字幕国产综合| 日本韩国欧美国产| eeuss影院www在线观看| 亚洲综合日韩中文字幕v在线| 亚洲老妇激情| 久久黄色一级视频| 天天操天天色综合| 美女做暖暖视频免费在线观看全部网址91 | 国产69精品久久久久9999| 黄色美女久久久| 欧美日韩在线不卡视频| 欧美高清在线精品一区| www.国产欧美| 国产69精品久久久久9| 天堂俺去俺来也www久久婷婷| 777视频在线| 一区二区三区在线免费| 天堂网在线中文| 国产精品99久久久久久久久久久久| 中文字幕亚洲精品乱码| 国产二级一片内射视频播放| 色综合久久综合| 尤物在线视频|