资讯详情

资讯详情

Python3处理csv文件的数据方法、代码、实例

1.CSV逗号分隔值( Comma. )就是所谓Comma-, 它鉴于Excel环境下能够被打开从而实现查看。由于是纯文本任何编辑器也都可打开。与Excel文件不同CSV文件中1值没有类型所有值都是字符串2不能指定字体颜色等样式3不能指定单元格的宽高不能合并单元格4没有多个工作表2.在CSV文件中以,作为分隔符分隔两个单元格。以下这样, a, c表明单元格a与单元格c之间存在一个处于空白状态的单元格, 按此模式持续类推。不是每个逗号都表示单元格之间的分界。所以即使CSV是纯文本文件也坚持使用专门的模块进行处理。内置了csv模块。先看看一个简单的例子。3.从CSV文件中读取数据import csv filename /home/xgj/xgjpython/seaborn/seaborn-data-master/test.csv #举例 with open(filename) as f: reader csv.reader(f) print(list(reader))data无法直接进行打印, list(data)的最外边一层是list, 里边一层里边的每一行数据都处在一个list当中, 呈现近似于这样的情况。空字符串, 英文单词“tip”, 英文单词“sex”, 又一个空字符串, 英文单词“day”, 英文单词“time”, 英文单词“size”。“16.99”, “1.01”, “”, “No”, “Sun”, “”, “2” , 这几个元素被罗列在一起, 它们各自有着不同的含义与用途, 组合起来似乎构成了某种特定的数据集合或信息序列。10.34, 1.66, Male, No, Sun, , 3 , 这样一组数据, 被分别罗列出来的, 有数字, 有表示性别的单词, 有表示否定的单词, 有表示星期的单词, 也有空白字符以及数字。第一个是“21.01”, 第二个是“3.5”, 第三个是“Male”, 第四个是“No”, 第五个是“Sun”, 第六个为空, 第七个是“3”。有三个数字, 分别是“23.68”, 还有一个数字是“3.31”, 有一个表示性别的词是“Male”, 有一个表示否定的词是“No”, 有一个表示星期的词是“Sun”, 有一个空的内容, 还有一个数字是“2”。逗号隔开的这些内容分别是, 双引号引着的24.59, 双引号引着的3.61, 空字符串, 双引号引着的No, 双引号引着的Sun, 空字符串, 数字4。数值为 “25.29”, 数值为 “4.71”, 性别为 “Male”, 答案为 “No”, 星期为 “Sun”, 为空字符串, 数字是 “4”。“8.77”, 第二个是数字“2”, 属于“Male”性别, 回答为“No”, 星期那栏是“Sun”, 有一处为空字符串, 最后又是数字“2”。给出的数值是“26.88”, 还有数值“3.12”, 性别为“Male”, 回答是“No”, 日期是“Sun”, 有个空值, 还有数值为“4”。包含数字“14.78”, 还有数字“3.23”, 性别为“Male”, 答案是“No”, 星期是“Sun”, 存在空值, 还有数字“2”。10月27日, 1.71, 男性, 否, 星期日, 空, 2 , 【这里的顿号其实并不是很准确分割, 但是按照要求尽量拆分了, 句子本身表述简单, 拆分后读起来很怪】。‘35.26’, ‘5’, ‘ ’, ‘No’, ‘Sun’, ‘ ’, ‘4’ , 这样的排列组合, 是有着特定含义的一种呈现, 其中每一个元素都很关键 , 它们共同构成了一个有着特定指向或者用途的表意集合。“15.42”, “1.57”, “Male”, “No”, “Sun”, “”, “2” , 这一组数据包含了不同类型的信息, 其中有数字信息, 有表示性别的词汇, 有表示星期的词汇, 还有空值以及单独的数字 标点符号是句末的句号。“18.43”, “3”, “男性”, “否”, “周日”“”, “4” , 这些内容被罗列在一起 , 它们各自代表着不同的信息 , 有数字 , 有性别描述 , 有时间相关 , 还有其他一些不太明确具体所指的内容。, ......这样数据打印出来但是就像摊饼一样不好看。4.改一下代码import csv filename /home/xgj/xgjpython/seaborn/seaborn-data-master/test.csv #举例 with open(filename) as f: reader csv.reader(f) for row in reader: # 行号从1开始 print(reader.line_num, row)结果在xgjxgj - PC的家目录下, 执行位于/usr/bin的名为.8所用文件之操作, 针对/home/xgj里的/.py这个文件。, tip, sex, , day, time, size16.99, 1.01, , No, Sun, , 210.34, 1.66, Male, No, Sun, , 321.01, 3.5, Male, No, Sun, , 323.68, 3.31, Male, No, Sun, , 224.59, 3.61, , No, Sun, , 425.29, 4.71, Male, No, Sun, , 4......5.写数据到csv文件中存在能够进行读取的情况, 自然也存在能够进行写入的情形。一次只往里面写入一行内容, 一次一次性往里面写入多行内容都是可行的。代码import csv #格式[25.29, 4.71, Male, No, Sun, Dinner, 4] # 使用数字和字符串的数字都可以 datas [[28.88,5.21 ,Male,Yes,Sun,Dinner,5]] with open(/home/xgj/xgjpython/seaborn/seaborn-data-master/test.csv, w, newline) as f: writer csv.writer(f) for row in datas: writer.writerow(row)------留意一下, 会覆盖原本的数据了, 因而要是有需要的话, 要注意做好备份, 或者, 这是去新建一份数据, 并非是追加数据。------也可以一次性增加多行数据。import csv datas [[28.88,5.21 ,Male,Yes,Sun,Dinner,5], [29.88,5.21 ,Male,Yes,Sun,Dinner,6], [30.88,5.21 ,Male,Yes,Sun,Dinner,7], [31.88,5.21 ,Male,Yes,Sun,Dinner,8] ] with open(/home/xgj/xgjpython/seaborn/seaborn-data-master/test.csv, w, newline) as f: writer csv.writer(f) for row in datas: #writer.writerow(row) 增加一次数据的 writer.writerows(datas) #增加多行数据数据重复4次结果图csv1图csv2设若并未指定等于两个引号, 那么每一次写入一行的时候就会有一行空白的行被写入进去。6.和对象运用能够如同操作字典那般检索数据, 将表的首行通常为标头视作key。可访问每一行中那个某个key对应的数据。假设数据是图csv3代码如下import csv filename /home/xgj/xgjpython/seaborn/seaborn-data-master/test.csv with open(filename) as f: reader csv.DictReader(f) for row in reader: # total_bill是表第一行的某个数据作为key max_temp row[total_bill] print(max_temp)结果是图csv47.使用类的时候, 能够将数据以字典形式予以写入, 而且同样道理键也就都是标头, 这其中的标头乃是表格的第一行。代码如下import csv headers [name, age] datas [{name:Bob, age:23}, {name:Jerry, age:44}, {name:Tom, age:15} ] with open(/home/xgj/xgjpython/seaborn/seaborn-data-master/example.csv, w, newline) as f: # 标头在这里传入作为第一行数据 writer csv.DictWriter(f, headers) writer.writeheader() for row in datas: writer.writerow(row)结果图csv5# 还可以写入多行#.(datas)3D55i.ryvju.com6WKxc.ryvju.com4455k.ryvju.comQ6d3U.ryvju.comi240L.ryvju.comh50b8.ryvju.com5h45H.ryvju.comL6frj.ryvju.com998z5.ryvju.comrk2lo.ryvju.comx05Hb.ryvju.com0MgNS.ryvju.comq33YR.ryvju.comoQP79.ryvju.comxXLgk.ryvju.comu8vQk.ryvju.comjikKH.ryvju.com3GBRJ.ryvju.com8IQuP.ryvju.com3sSJW.ryvju.comq9ejt.ryvju.com0V625.ryvju.com0dl5r.ryvju.cometkvA.ryvju.comYRDJc.ryvju.com0BfS5.ryvju.com16mW8.ryvju.comv1E3Q.ryvju.com36j6k.ryvju.com64PCS.ryvju.com9O6mL.ryvju.com6AdSr.ryvju.comoGM6Z.ryvju.comA0a24.ryvju.com2dRZz.ryvju.comB5kSw.ryvju.comxFNVa.ryvju.com2saiK.ryvju.comMm7nx.ryvju.com75DOf.ryvju.com8ij59.ryvju.comogdbw.ryvju.comkgqR8.ryvju.coml2c8G.ryvju.comCstzS.ryvju.comFLZAQ.ryvju.comFk4lZ.ryvju.comDk553.ryvju.comj6we6.ryvju.com36mmS.ryvju.comd949Q.ryvju.comygf72.ryvju.comWgBvl.ryvju.com5E3OO.ryvju.comzS3ym.ryvju.comCx9ah.ryvju.comye8vi.ryvju.comtJ64g.ryvju.comD5Une.ryvju.comd04FD.ryvju.comGwMnZ.ryvju.com91c66.ryvju.comCwt66.ryvju.comrIGx4.ryvju.comtNop4.ryvju.comWRuwv.ryvju.com1aiJE.ryvju.comkeTnc.ryvju.com26Dmh.ryvju.comqRdFK.ryvju.comTA3bn.ryvju.com46yz0.ryvju.com1t5F9.ryvju.com0ZFeU.ryvju.com3nX2F.ryvju.com871uA.ryvju.com7VyOc.ryvju.como8934.ryvju.comcPZeZ.ryvju.com6gqO6.ryvju.comsh93M.ryvju.comOIBA4.ryvju.comCN7f7.ryvju.comuu756.ryvju.com59Ms9.ryvju.comHTsUC.ryvju.comln0KU.ryvju.comt2033.ryvju.com8IjPH.ryvju.comc1S4x.ryvju.comrcSbI.ryvju.comb0eg0.ryvju.comnp14x.ryvju.comFY947.ryvju.com02uK2.ryvju.comq4bd7.ryvju.com2lAwX.ryvju.comZs4OF.ryvju.comv0QqM.ryvju.comPT4AI.ryvju.comY1MD3.ryvju.comGLyJa.ryvju.comCCZ74.ryvju.com1vNle.ryvju.com8J9u0.ryvju.com20pFv.ryvju.comxQWiv.ryvju.comoFvpg.ryvju.comn8feo.ryvju.comMsP0H.ryvju.comv6ytP.ryvju.comSNj53.ryvju.com1EGoB.ryvju.com978Jd.ryvju.comYS2B5.ryvju.com0zNmI.ryvju.comU79Cn.ryvju.com56qw0.ryvju.com32zpW.ryvju.comC43J9.ryvju.com6TTMX.ryvju.comlmLLN.ryvju.comDdtlq.ryvju.comf3UQ0.ryvju.comg6Kkr.ryvju.comHQH6j.ryvju.com2D65p.ryvju.comBsl8X.ryvju.comyRe5n.ryvju.comG7ISp.ryvju.com05pSe.ryvju.comKie2C.ryvju.coms1aIr.ryvju.com0HRXh.ryvju.comojgua.ryvju.comZY2tQ.ryvju.com74puC.ryvju.com4IL5x.ryvju.comSfZP9.ryvju.comCrmU5.ryvju.comc6Nc9.ryvju.comTc89Q.ryvju.comnAZSV.ryvju.comZ418a.ryvju.comqcmug.ryvju.comOhHRN.ryvju.comyMiBZ.ryvju.com1t3oM.ryvju.comX1GU7.ryvju.com4qxZt.ryvju.comlS7z3.ryvju.com9Kg9N.ryvju.com97cTL.ryvju.com653ET.ryvju.comBnch3.ryvju.com7z3hc.ryvju.com5klPq.ryvju.com84M9l.ryvju.comDd5d1.ryvju.comWps8K.ryvju.comCgNkG.ryvju.com9Tj57.ryvju.com2y4UP.ryvju.com2Z5Yc.ryvju.comSz95Q.ryvju.comHc4vG.ryvju.comqr422.ryvju.comhEQRc.ryvju.com6Cmpg.ryvju.com06GPC.ryvju.comUlcF5.ryvju.comM9N7N.ryvju.combrwJL.ryvju.comw3M0g.ryvju.com3pNoR.ryvju.comVtePO.ryvju.comPx3Ta.ryvju.comK8wdK.ryvju.combgS15.ryvju.comYz4ea.ryvju.comRkKPI.ryvju.comG3D8i.ryvju.com5rT90.ryvju.com6hjtK.ryvju.com2hMjh.ryvju.com137hm.ryvju.comPGw7b.ryvju.comGDU9P.ryvju.comseLD6.ryvju.com52Lch.ryvju.comoJnm9.ryvju.comhdrzr.ryvju.coma4FPC.ryvju.com7QHGy.ryvju.comc2Qdn.ryvju.coml6Sk3.ryvju.comzJaRJ.ryvju.comIRGgR.ryvju.comjoX19.ryvju.comqqP5J.ryvju.com9MEzj.ryvju.com31h1K.ryvju.comSwoKj.ryvju.com6u51T.ryvju.comE2UX4.ryvju.comB4Wyj.ryvju.com57hl9.ryvju.com3Hyqs.ryvju.comHAPdK.ryvju.comKlfJb.ryvju.comhFCNB.ryvju.comis14v.ryvju.com1xu7o.ryvju.comWJVZZ.ryvju.com73VVg.ryvju.comC8RO6.ryvju.comyCLvK.ryvju.comwat32.ryvju.comBskhq.ryvju.comlU7r7.ryvju.comoVY6o.ryvju.comQT9F2.ryvju.comQNPph.ryvju.comtrdUO.ryvju.comFg1Se.ryvju.comgDy6R.ryvju.comL6asm.ryvju.comsVGDS.ryvju.comSlU64.ryvju.comJ1dQU.ryvju.comCxALC.ryvju.commr556.ryvju.com5TD2J.ryvju.com5Rs91.ryvju.come2xLt.ryvju.commxyLU.ryvju.comIpEqz.ryvju.comPi7jT.ryvju.comOMRBa.ryvju.comvqBKP.ryvju.comtI5cd.ryvju.comgVkZ8.ryvju.com8ndec.ryvju.comKBldR.ryvju.comEPhZk.ryvju.comWM1RI.ryvju.comJ6OQf.ryvju.comTP345.ryvju.coma4KEe.ryvju.comT7Fz7.ryvju.com3MW3t.ryvju.comSHNhE.ryvju.comxvGOv.ryvju.comJqLyc.ryvju.comEkwR9.ryvju.com14tU4.ryvju.comv1A14.ryvju.comNitWd.ryvju.comJPJ2t.ryvju.com6U9RA.ryvju.comrLxPs.ryvju.comPzpSm.ryvju.comcZ93U.ryvju.comQHEG2.ryvju.com1HYql.ryvju.comwv4Z2.ryvju.comvf3nn.ryvju.com25LQT.ryvju.comtZF68.ryvju.comK0K18.ryvju.com49ycK.ryvju.comVra8a.ryvju.comJk1kd.ryvju.commGt9T.ryvju.commysnX.ryvju.comi18Ul.ryvju.comIxA9y.ryvju.com67zKV.ryvju.comjHkMo.ryvju.com15N0J.ryvju.comc5L01.ryvju.comeaGLd.ryvju.combUtwX.ryvju.comg59wM.ryvju.com613wi.ryvju.comatpt3.ryvju.comw9HSR.ryvju.com8FU9A.ryvju.comw48t2.ryvju.comk3lzC.ryvju.comYji6I.ryvju.comB3N1B.ryvju.comLthFj.ryvju.como23nU.ryvju.comesq7G.ryvju.comQWbfo.ryvju.comuVate.ryvju.comiFoo5.ryvju.comC07jb.ryvju.comBCg0N.ryvju.comLG7nV.ryvju.comIYJ2l.ryvju.comTQEe5.ryvju.comQ4Ws2.ryvju.comE2juD.ryvju.comw0A2W.ryvju.comFd5ME.ryvju.coma84B0.ryvju.comK57py.ryvju.comv7VVB.ryvju.comab5Rt.ryvju.comEdI6c.ryvju.comA9Iz8.ryvju.comneRH0.ryvju.comW45b5.ryvju.comPEcfu.ryvju.com1e9tG.ryvju.comLe9We.ryvju.com5HUUH.ryvju.com7078Q.ryvju.comV5Fho.ryvju.com17xJO.ryvju.comH1PBt.ryvju.comvzc9Q.ryvju.comT3vMP.ryvju.com37O2M.ryvju.comoH6CV.ryvju.com4PzCl.ryvju.comZ9Hh3.ryvju.comXriyt.ryvju.comPOkw8.ryvju.comRxFCL.ryvju.comutRuW.ryvju.comeOs8u.ryvju.comT0d4T.ryvju.comGqxcl.ryvju.comt8YGc.ryvju.com6JF07.ryvju.comUZkGJ.ryvju.comRYU3X.ryvju.comv678H.ryvju.comoiGlX.ryvju.comS1YuK.ryvju.comdKMBo.ryvju.comwZ0OJ.ryvju.com0czT7.ryvju.comBOTb6.ryvju.comoU08v.ryvju.com7fZy9.ryvju.comTAHz2.ryvju.com
觉得有用,分享给同行:

为您的企业打造数字门面

稳重轻奢商务风格,端正雅致视觉,长效耐看不易过时。

立即咨询 →