电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術文章
文章詳情頁

使用 Python 讀取電子表格中的數據實例詳解

瀏覽:117日期:2022-07-29 16:57:08

Python 是最流行、功能最強大的編程語言之一。由于它是自由開源的,因此每個人都可以使用。大多數 Fedora 系統都已安裝了該語言。Python 可用于多種任務,其中包括處理逗號分隔值(CSV)數據。CSV文件一開始往往是以表格或電子表格的形式出現。本文介紹了如何在 Python 3 中處理 CSV 數據。

CSV 數據正如其名。CSV 文件按行放置數據,數值之間用逗號分隔。每行由相同的字段定義。簡短的 CSV 文件通常易于閱讀和理解。但是較長的數據文件或具有更多字段的數據文件可能很難用肉眼解析,因此在這種情況下計算機做得更好。

這是一個簡單的示例,其中的字段是 Name、Email 和 Country。在此例中,CSV 數據將字段定義作為第一行,盡管并非總是如此。

Name,Email,CountryJohn Q. Smith,jqsmith@example.com,USAPetr Novak,pnovak@example.com,CZBernard Jones,bjones@example.com,UK

從電子表格讀取 CSV

Python 包含了一個 csv 模塊,它可讀取和寫入 CSV 數據。大多數電子表格應用,無論是原生(例如 Excel 或 Numbers)還是基于 Web 的(例如 Google Sheet),都可以導出 CSV 數據。實際上,許多其他可發布表格報告的服務也可以導出為 CSV(例如,PayPal)。

Python csv 模塊有一個名為 DictReader 的內置讀取器方法,它可以將每個數據行作為有序字典 (OrderedDict) 處理。它需要一個文件對象訪問 CSV 數據。因此,如果上面的文件在當前目錄中為 example.csv,那么以下代碼段是獲取此數據的一種方法:

f = open(’example.csv’, ’r’)from csv import DictReaderd = DictReader(f)data = []for row in d: data.append(row)

現在,內存中的 data 對象是 OrderedDict 對象的列表:

[OrderedDict([(’Name’, ’John Q. Smith’),(’Email’, ’jqsmith@example.com’),(’Country’, ’USA’)]), OrderedDict([(’Name’, ’Petr Novak’),(’Email’, ’pnovak@example.com’),(’Country’, ’CZ’)]), OrderedDict([(’Name’, ’Bernard Jones’),(’Email’, ’bjones@example.com’),(’Country’, ’UK’)])]

引用這些對象很容易:

>>> print(data[0][’Country’])USA>>> print(data[2][’Email’])bjones@example.com

順便說一句,如果你需要處理沒有字段名標題行的 CSV 文件,那么 DictReader 類可以讓你定義它們。在上面的示例中,添加 fieldnames 參數并傳遞一系列名稱:

d = DictReader(f, fieldnames=[’Name’, ’Email’, ’Country’])

真實例子

我最近想從一長串人員名單中隨機選擇一個中獎者。我從電子表格中提取的 CSV 數據是一個簡單的名字和郵件地址列表。

幸運的是,Python 有一個有用的 random 模塊,可以很好地生成隨機值。該模塊 Random 類中的 randrange 函數正是我需要的。你可以給它一個常規的數字范圍(例如整數),以及它們之間的步長值。然后,該函數會生成一個隨機結果,這意味著我可以在數據的總行數范圍內獲得一個隨機整數(或者說是行號)。

這個小程序運行良好:

from csv import DictReaderfrom random import Randomd = DictReader(open(’mydata.csv’))data = []for row in d: data.append(row)r = Random()winner = data[r.randrange(0, len(data), 1)]print(’The winner is:’, winner[’Name’])print(’Email address:’, winner[’Email’])

顯然,這個例子非常簡單。電子表格本身包含了復雜的分析數據的方法。但是,如果你想在電子表格應用之外做某事,Python 或許是一種技巧!

總結

到此這篇關于使用 Python 讀取電子表格中的數據實例詳解的文章就介紹到這了,更多相關python 讀取表格數據內容請搜索好吧啦網以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持好吧啦網!

標簽: Python 編程
相關文章:
主站蜘蛛池模板: 淄博不锈钢无缝管,淄博不锈钢管-鑫门物资有限公司 | 山东集装箱活动房|济南集装箱活动房-济南利森集装箱有限公司 | 防腐木批发价格_深圳_惠州_东莞防腐木厂家_森源(深圳)防腐木有限公司 | 本安接线盒-本安电路用接线盒-本安分线盒-矿用电话接线盒-JHH生产厂家-宁波龙亿电子科技有限公司 | 深圳APP开发公司_软件APP定制开发/外包制作-红匣子科技 | 一体化污水处理设备-一体化净水设备-「山东梦之洁水处理」 | 【铜排折弯机,钢丝折弯成型机,汽车发泡钢丝折弯机,线材折弯机厂家,线材成型机,铁线折弯机】贝朗折弯机厂家_东莞市贝朗自动化设备有限公司 | 国际船舶网 - 船厂、船舶、造船、船舶设备、航运及海洋工程等相关行业综合信息平台 | 木材烘干机,木炭烘干机,纸管/佛香烘干设备-河南蓝天机械制造有限公司 | 全自动面膜机_面膜折叠机价格_面膜灌装机定制_高速折棉机厂家-深圳市益豪科技有限公司 | 二次元影像仪|二次元测量仪|拉力机|全自动影像测量仪厂家_苏州牧象仪器 | 成都中天自动化控制技术有限公司 | [品牌官网]贵州遵义双宁口腔连锁_贵州遵义牙科医院哪家好_种植牙_牙齿矫正_原华美口腔 | 天津次氯酸钠酸钙溶液-天津氢氧化钠厂家-天津市辅仁化工有限公司 | 泰国试管婴儿_泰国第三代试管婴儿费用|成功率|医院—新生代海外医疗 | 双吸泵,双吸泵厂家,OS双吸泵-山东博二泵业有限公司 | 成都租车_成都租车公司_成都租车网_众行宝| 特种电缆厂家-硅橡胶耐高温电缆-耐低温补偿导线-安徽万邦特种电缆有限公司 | 中国品牌门窗网_中国十大门窗品牌_著名门窗品牌 | 药品仓库用除湿机-变电站用防爆空调-油漆房用防爆空调-杭州特奥环保科技有限公司 | 金属雕花板_厂家直销_价格低-山东慧诚建筑材料有限公司 | 手持式浮游菌采样器-全排二级生物安全柜-浙江孚夏医疗科技有限公司 | 河南包装袋厂家_河南真空袋批发价格_河南服装袋定制-恒源达包装制品 | 四探针电阻率测试仪-振实密度仪-粉末流动性测定仪-宁波瑞柯微智能 | 周易算网-八字测算网 - 周易算网-宝宝起名取名测名字周易八字测算网 | 制丸机,小型中药制丸机,全自动制丸机价格-甘肃恒跃制药设备有限公司 | 板材品牌-中国胶合板行业十大品牌-环保板材-上海声达板材 | CE认证_FCC认证_CCC认证_MFI认证_UN38.3认证-微测检测 CNAS实验室 | 宝元数控系统|对刀仪厂家|东莞机器人控制系统|东莞安川伺服-【鑫天驰智能科技】 | 江苏全风,高压风机,全风环保风机,全风环形高压风机,防爆高压风机厂家-江苏全风环保科技有限公司(官网) | 重庆监控_电子围栏设备安装公司_门禁停车场管理系统-劲浪科技公司 | 废气处理_废气处理设备_工业废气处理_江苏龙泰环保设备制造有限公司 | 一体化隔油提升设备-餐饮油水分离器-餐厨垃圾处理设备-隔油池-盐城金球环保产业发展有限公司 | 电销卡_稳定企业大语音卡-归属地可选-世纪通信 | 口信网(kousing.com) - 行业资讯_行业展会_行业培训_行业资料 | 河南包装袋厂家_河南真空袋批发价格_河南服装袋定制-恒源达包装制品 | [官网]叛逆孩子管教_戒网瘾学校_全封闭问题青少年素质教育_新起点青少年特训学校 | 深圳APP开发公司_软件APP定制开发/外包制作-红匣子科技 | 电气控制系统集成商-PLC控制柜变频控制柜-非标自动化定制-电气控制柜成套-NIDEC CT变频器-威肯自动化控制 | 横河变送器-横河压力变送器-EJA变送器-EJA压力变送器-「泉蕴仪表」 | 外贮压-柜式-悬挂式-七氟丙烷-灭火器-灭火系统-药剂-价格-厂家-IG541-混合气体-贮压-非贮压-超细干粉-自动-灭火装置-气体灭火设备-探火管灭火厂家-东莞汇建消防科技有限公司 |