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使用筛选法计算小于给定数字的所有素数
Mar 19 Python
Python装饰器的执行过程实例分析
Jun 04 Python
TensorFlow 合并/连接数组的方法
Jul 27 Python
Python2与Python3的区别实例分析
Apr 11 Python
python 中的列表生成式、生成器表达式、模块导入
Jun 19 Python
通过PYTHON来实现图像分割详解
Jun 26 Python
浅谈SciPy中的optimize.minimize实现受限优化问题
Feb 29 Python
Python 日期时间datetime 加一天,减一天,加减一小时一分钟,加减一年
Apr 16 Python
使用jupyter notebook运行python和R的步骤
Aug 13 Python
Python使用socket_TCP实现小文件下载功能
Oct 09 Python
Python内置的数据类型及使用方法
Apr 13 Python
Python使用pyecharts控件绘制图表
Jun 05 Python
openstack中的rpc远程调用的方法
Python实现查询剪贴板自动匹配信息的思路详解
如何利用Python实现一个论文降重工具
python实现MD5进行文件去重的示例代码
深入浅析python3 依赖倒置原则(示例代码)
Jul 09 #Python
Python中Selenium对Cookie的操作方法
Python常用配置文件ini、json、yaml读写总结
You might like
php比较两个绝对时间的大小
2014/01/31 PHP
php数组中删除元素之重新索引的方法
2014/09/16 PHP
PHP中for循环与foreach的区别
2017/03/06 PHP
采用CSS和JS,刚好我最近有个站点要用到下拉菜单!
2006/06/26 Javascript
ajax上传时参数提交不更新等相关问题
2012/12/11 Javascript
javascript full screen 全屏显示页面元素的方法
2013/09/27 Javascript
JS根据年月获得当月天数的实现代码
2014/07/03 Javascript
js兼容火狐显示上传图片预览效果的方法
2015/05/21 Javascript
Winform客户端向web地址传参接收参数的方法
2016/05/17 Javascript
Easyui使用Dialog行内按钮布局的实例
2017/07/27 Javascript
vue.js添加一些触摸事件以及安装fastclick的实例
2018/08/28 Javascript
非常实用的jQuery代码段集锦【检测浏览器、滚动、复制、淡入淡出等】
2019/08/08 jQuery
在vue中使用jsx语法的使用方法
2019/09/30 Javascript
JS实现扫码枪扫描二维码功能
2020/01/03 Javascript
vue中watch和computed的区别与使用方法
2020/08/23 Javascript
[51:29]Alliance vs TNC 2019国际邀请赛小组赛 BO2 第二场 8.16
2019/08/18 DOTA
Python ljust rjust center输出
2008/09/06 Python
python读写文件操作示例程序
2013/12/02 Python
在树莓派2或树莓派B+上安装Python和OpenCV的教程
2015/03/30 Python
Python实现的HTTP并发测试完整示例
2020/04/23 Python
Django contenttypes 框架详解(小结)
2018/08/13 Python
pandas数据集的端到端处理
2019/02/18 Python
Python 中如何实现参数化测试的方法示例
2019/12/10 Python
python模式 工厂模式原理及实例详解
2020/02/11 Python
python GUI库图形界面开发之PyQt5信号与槽机制、自定义信号基础介绍
2020/02/25 Python
HTML5+CSS3实现拖放(Drag and Drop)示例
2014/07/07 HTML / CSS
手机配件第一品牌:ZAGG
2017/05/28 全球购物
英国奢侈品在线精品店:Hervia
2020/09/03 全球购物
将一个文本文件的内容按倒序打印出来
2015/01/05 面试题
实习期自我鉴定
2013/10/11 职场文书
学生社团文化节开幕式主持词
2014/03/28 职场文书
关于建议书的格式范文
2014/05/20 职场文书
小学优秀教师事迹材料
2014/12/16 职场文书
如何写一份成功的商业计划书
2019/06/25 职场文书
python文件名批量重命名脚本实例代码
2021/04/22 Python
Nginx配置根据url参数重定向
2022/04/11 Servers