Python操作CSV格式文件的方法大全


Posted in Python onJuly 15, 2021

(一)CSV格式文件

1.说明

CSV是一种以逗号分隔数值的文件类型,在数据库或电子表格中,常见的导入导出文件格式就是CSV格式,CSV格式存储数据通常以纯文本的方式存数数据表。

 

(二)CSV库操作csv格式文本

操作一下表格数据:

Python操作CSV格式文件的方法大全

1.读取表头的2中方式

#方式一
import csv
with open("D:\\test.csv") as f:
    reader = csv.reader(f)
    rows=[row for row in  reader]
    print(rows[0])


----------
#方式二
import csv
with open("D:\\test.csv") as f:
    #1.创建阅读器对象
    reader = csv.reader(f)
    #2.读取文件第一行数据
    head_row=next(reader)
    print(head_row)

结果演示:['姓名', '年龄', '职业', '家庭地址', '工资']

2.读取文件某一列数据

#1.获取文件某一列数据
import csv
with open("D:\\test.csv") as f:
    reader = csv.reader(f)
    column=[row[0] for row in  reader]
    print(column)

结果演示:['姓名', '张三', '李四', '王五', 'Kaina']

3.向csv文件中写入数据

#1.向csv文件中写入数据
import csv
with open("D:\\test.csv",'a') as f:
     row=['曹操','23','学生','黑龙江','5000']
     write=csv.writer(f)
     write.writerow(row)
     print("写入完毕!")

结果演示:

Python操作CSV格式文件的方法大全

4.获取文件头及其索引

import csv
with open("D:\\test.csv") as f:
    #1.创建阅读器对象
    reader = csv.reader(f)
    #2.读取文件第一行数据
    head_row=next(reader)
    print(head_row)
    #4.获取文件头及其索引
    for index,column_header in enumerate(head_row):
        print(index,column_header)

结果演示:
['姓名', '年龄', '职业', '家庭地址', '工资']
0 姓名
1 年龄
2 职业
3 家庭地址
4 工资

5.获取某列的最大值

# ['姓名', '年龄', '职业', '家庭地址', '工资']
import csv
with open("D:\\test.csv") as f:
    reader = csv.reader(f)
    header_row=next(reader)
    # print(header_row)
    salary=[]
    for row in reader:
        #把第五列数据保存到列表salary中
         salary.append(int(row[4]))
    print(salary)
    print("员工最高工资为:"+str(max(salary)))

结果演示:员工最高工资为:10000

6.复制CSV格式文件

原文件test.csv

Python操作CSV格式文件的方法大全

import csv
f=open('test.csv')
#1.newline=''消除空格行
aim_file=open('Aim.csv','w',newline='')
write=csv.writer(aim_file)
reader=csv.reader(f)
rows=[row for row in reader]
#2.遍历rows列表
for row in rows:
    #3.把每一行写到Aim.csv中
    write.writerow(row)

01.未添加关键字参数newline=' '的结果:

Python操作CSV格式文件的方法大全

02添加关键字参数newline=' '的Aim.csv文件的内容:

Python操作CSV格式文件的方法大全

 

(三)pandas库操作CSV文件

csv文件内容:

Python操作CSV格式文件的方法大全

1.安装pandas库:pip install pandas

2.读取csv文件所有数据

import pandas as pd
path= 'D:\\test.csv'
with open(path)as file:
    data=pd.read_csv(file)
    print(data)

结果演示:
      姓名  年龄   职业  家庭地址     工资
0     张三  22   厨师   北京市   6000
1     李四  26  摄影师  湖南长沙   8000
2     王五  28  程序员    深圳  10000
3  Kaina  22   学生   黑龙江   2000
4     曹操  28   销售    上海   6000

3.describe()方法数据统计

import pandas as pd
path= 'D:\\test.csv'
with open(path)as file:
    data=pd.read_csv(file)
    #了解更多describe()知识,ctr+鼠标左键
    print(data.describe())

结果演示:
             年龄            工资
count   5.00000      5.000000
mean   25.20000   6400.000000
std     3.03315   2966.479395
min    22.00000   2000.000000
25%    22.00000   6000.000000
50%    26.00000   6000.000000
75%    28.00000   8000.000000
max    28.00000  10000.000000

4.读取文件前几行数据

import pandas as pd
path= 'D:\\test.csv'
with open(path)as file:
    data=pd.read_csv(file)
    #读取前2行数据
    # head_datas = data.head(0)
    head_datas=data.head(2)
    print(head_datas)

结果演示:
   姓名  年龄   职业  家庭地址    工资
0  张三  22   厨师   北京市  6000
1  李四  26  摄影师  湖南长沙  8000

5.读取某一行所有数据

import pandas as pd
path= 'D:\\test.csv'
with open(path)as file:
    data=pd.read_csv(file)
    #读取第一行所有数据
    print(data.ix[0,])

结果演示:
姓名        张三
年龄        22
职业        厨师
家庭地址     北京市
工资      6000

6.读取某几行的数据

import pandas as pd
path= 'D:\\test.csv'
with open(path)as file:
    data=pd.read_csv(file)
    #读取第一行、第二行、第四行的所有数据
    print(data.ix[[0,1,3],:])

结果演示:
      姓名  年龄   职业  家庭地址    工资
0     张三  22   厨师   北京市  6000
1     李四  26  摄影师  湖南长沙  8000
3  Kaina  22   学生   黑龙江  2000

7.读取所有行和列数据

import pandas as pd
path= 'D:\\test.csv'
with open(path)as file:
    data=pd.read_csv(file)
    #读取所有行和列数据
    print(data.ix[:,:])

结果演示:
      姓名  年龄   职业  家庭地址     工资
0     张三  22   厨师   北京市   6000
1     李四  26  摄影师  湖南长沙   8000
2     王五  28  程序员    深圳  10000
3  Kaina  22   学生   黑龙江   2000
4     曹操  28   销售    上海   6000

8.读取某一列的所有行数据

import pandas as pd
path= 'D:\\test.csv'
with open(path)as file:
    data=pd.read_csv(file)
    # print(data.ix[:, 4])
    print(data.ix[:,'工资'])

结果演示:
0     6000
1     8000
2    10000
3     2000
4     6000
Name: 工资, dtype: int64

9.读取某几列的某几行

import pandas as pd
path= 'D:\\test.csv'
with open(path)as file:
    data=pd.read_csv(file)
    print(data.ix[[0,1,3],['姓名','职业','工资']])

结果演示:
      姓名   职业    工资
0     张三   厨师  6000
1     李四  摄影师  8000
3  Kaina   学生  2000

10.读取某一行和某一列对应的数据

import pandas as pd
path= 'D:\\test.csv'
with open(path)as file:
    data=pd.read_csv(file)
    #读取第三行的第三列
    print("职业---"+data.ix[2,2])

结果演示:职业---程序员

11.CSV数据的导入导出(复制CSV文件)

读方式01:

import pandas as pd
#1.读入数据
data=pd.read_csv(file)

写出数据02:

import pandas as pd
#1.写出数据,目标文件是Aim.csv
data.to_csv('Aim.csv')

其他:

01.读取网络数据:
import pandas as pd 
data_url = "https://raw.githubusercontent.com/mwaskom/seaborn-data/master/tips.csv"
#填写url读取
df = pd.read_csv(data_url)


----------
02.读取excel文件数据
import pandas as pd 
data = pd.read_excel(filepath)

实例演示:

1.test.csv原文件内容

Python操作CSV格式文件的方法大全

2.现在把test.csv中的内容复制到Aim.csv中

import pandas as pd
file=open('test.csv')
#1.读取file中的数据
data=pd.read_csv(file)
#2.把data写到目标文件Aim.csv中
data.to_csv('Aim.csv')
print(data)

结果演示:

Python操作CSV格式文件的方法大全

注:pandas模块处理Excel文件和处理CSV文件差不多!

参考文档:https://docs.python.org/3.6/library/csv.html

 

总结

到此这篇关于Python操作CSV格式文件的文章就介绍到这了,更多相关Python操作CSV文件内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Python 相关文章推荐
python求素数示例分享
Feb 16 Python
python里对list中的整数求平均并排序
Sep 12 Python
Python版微信红包分配算法
May 04 Python
举例讲解Python中metaclass元类的创建与使用
Jun 30 Python
Python函数式编程指南:对生成器全面讲解
Nov 19 Python
pycharm 设置项目的根目录教程
Feb 12 Python
Tensorflow安装问题: Could not find a version that satisfies the requirement tensorflow
Apr 20 Python
Python多线程的退出控制实现
Aug 10 Python
Python 必须了解的5种高级特征
Sep 10 Python
通过实例了解python__slots__使用方法
Sep 14 Python
对Pytorch 中的contiguous理解说明
Mar 03 Python
Python OpenCV 图像平移的实现示例
Jun 04 Python
openstack中的rpc远程调用的方法
Python实现查询剪贴板自动匹配信息的思路详解
如何利用Python实现一个论文降重工具
python实现MD5进行文件去重的示例代码
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 #Python
Python中Selenium对Cookie的操作方法
Python常用配置文件ini、json、yaml读写总结
You might like
DC动画很好看?新作烂得令人发指,名叫《红色之子》
2020/04/09 欧美动漫
php 无法载入mysql扩展
2010/03/12 PHP
PHP 基于文件头的文件类型验证类函数
2012/05/01 PHP
php通过ksort()函数给关联数组按照键排序的方法
2015/03/18 PHP
PHP数组操作――获取数组最后一个值的方法
2015/04/14 PHP
WordPress中访客登陆实现邮件提醒的PHP脚本实例分享
2015/12/14 PHP
mac系统下安装多个php并自由切换的方法详解
2017/04/21 PHP
用js实现层随着内容大小动态渐变改变 推荐
2009/12/19 Javascript
学习从实践开始之jQuery插件开发 对话框插件开发
2012/04/26 Javascript
JQuery 图片的展开和伸缩实例讲解
2013/04/18 Javascript
jQuery插件datalist实现很好看的input下拉列表
2015/07/14 Javascript
推荐10 个很棒的 jQuery 特效代码
2015/10/04 Javascript
实例讲解JavaScript中的this指向错误解决方法
2016/06/13 Javascript
微信小程序 五星评价功能的实现
2017/03/09 Javascript
js实现文字列表无缝滚动效果
2017/06/23 Javascript
基于Bootstrap table组件实现多层表头的实例代码
2017/09/07 Javascript
详解js中Array的方法及技巧
2018/09/12 Javascript
ES6的Fetch异步请求的实现方法
2018/12/07 Javascript
性能优化篇之Webpack构建速度优化的建议
2019/04/03 Javascript
微信小程序HTTP请求从0到1封装
2019/09/09 Javascript
[43:18]NB vs Infamous 2019国际邀请赛淘汰赛 败者组 BO3 第一场 8.22
2019/09/05 DOTA
Python isinstance函数介绍
2015/04/14 Python
基于python实现简单日历
2018/07/28 Python
Python内置random模块生成随机数的方法
2019/05/31 Python
在django中图片上传的格式校验及大小方法
2019/07/28 Python
关于Flask项目无法使用公网IP访问的解决方式
2019/11/19 Python
tensorflow通过模型文件,使用tensorboard查看其模型图Graph方式
2020/01/23 Python
查找适用于matplotlib的中文字体名称与实际文件名对应关系的方法
2021/01/05 Python
法国床上用品商店:La Compagnie du lit
2019/12/26 全球购物
图书室管理制度
2014/01/19 职场文书
学校出纳员岗位职责
2014/03/18 职场文书
学生会副主席竞聘书
2014/03/31 职场文书
干部考察材料范文
2014/12/24 职场文书
祝福语集锦:朋友新店开业祝福语
2019/12/10 职场文书
使用react-virtualized实现图片动态高度长列表的问题
2021/05/28 Javascript
Python实现猜拳与猜数字游戏的方法详解
2022/04/06 Python