Pandas操作CSV文件的读写实现方法


Posted in Python onNovember 13, 2019

(1)、导库

import pandas as pd
from pandas import Series

(2)、读取csv文件的两种方式

#读取csv文件的两种方式
f = open('E:/建模/第5周/data/ex1.csv') #方法一
df = pd.read_csv(f)
print(df)
f.close

f = open('E:/建模/第5周/data/ex1.csv') #方法二,必须指定分隔符为',',否则会读取失败
df = pd.read_table(f,sep=',')
print(df)
f.close

(2)、根据需要条件读取csv文件

#根据需要条件读取csv文件
f = open('E:/建模/第5周/data/csv_mindex.csv') 
df = pd.read_csv(f,header=None)   #不需要表头
df = pd.read_csv(f,names=['a','b','c','d','message'])  #添加表头
df = pd.read_csv(f,names=['a','b','c','d','message'],index_col = 'message')  #指定某一列作为行索引
df = pd.read_csv(f,index_col = ['key1','key2'])  #指定多列作为行索引
print(df)
f.close

(3)、利用正则表达式读取不同含有不同分隔符的文件

#利用正则表达式读取不同含有不同分隔符的文件
f = open('E:/建模/第5周/data/ex3.txt') 
df = pd.read_table(f,sep='\s+')
print(df)

(4)、根据需要选择需要读的行

#根据需要选择需要读的行
f = open('E:/建模/第5周/data/ex4.csv') 
df = pd.read_table(f,sep=',',skiprows=[0,2,3]) #跳过不想读的行
print(df)

(5)、处理缺失值

#处理缺失值
f = open('E:/建模/第5周/data/ex5.csv') 
df = pd.read_table(f,sep=',',na_values='world') #如果数据中有'world',也会视为缺失值
print(df)

(6)、逐行读取文件

#逐行读取文件
f = open('E:/建模/第5周/data/ex6.csv') 
df = pd.read_table(f,sep=',',nrows=5) #只读取前面5行
print(df)

(7)、将dataframe数据写入csv文件

#将dataframe数据写入csv文件
f = open('E:/建模/第5周/data/ex5.csv') 
data = pd.read_csv(f)
data.to_csv('E:/建模/第5周/data/out.csv')  #将dataframe输出到csv文件中
data.to_csv('E:/建模/第5周/data/out.csv',na_rep='ok')  #将缺失值补上‘ok'
data.to_csv('E:/建模/第5周/data/out.csv',header=None)  #不设置表头
data.to_csv('E:/建模/第5周/data/out.csv',columns=['a','b'])  #写出指定的列

(8)、将csv文件读取位Series

#将csv文件读取位Series
f = open('E:/建模/第5周/data/tseries.csv') 
series = Series.from_csv(f,parse_dates=True)
print(series)

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python版微信红包分配算法
May 04 Python
Python中的ctime()方法使用教程
May 22 Python
Python中列表和元组的使用方法和区别详解
Dec 30 Python
Python使用Django实现博客系统完整版
Sep 29 Python
Pycharm更换python解释器的方法
Oct 29 Python
Python3.4学习笔记之类型判断,异常处理,终止程序操作小结
Mar 01 Python
python中单下划线(_)和双下划线(__)的特殊用法
Aug 29 Python
通过Python编写一个简单登录功能过程解析
Sep 04 Python
python做接口测试的必要性
Nov 20 Python
python tkinter 设置窗口大小不可缩放实例
Mar 04 Python
PyCharm 2020.2下配置Anaconda环境的方法步骤
Sep 23 Python
python利用appium实现手机APP自动化的示例
Jan 26 Python
Python倒排索引之查找包含某主题或单词的文件
Nov 13 #Python
Series和DataFrame使用简单入门
Nov 13 #Python
Python实现线性插值和三次样条插值的示例代码
Nov 13 #Python
Python坐标线性插值应用实现
Nov 13 #Python
python如果快速判断数字奇数偶数
Nov 13 #Python
Python 异步协程函数原理及实例详解
Nov 13 #Python
python文字转语音实现过程解析
Nov 12 #Python
You might like
php+javascript的日历控件
2009/11/19 PHP
PHP5 字符串处理函数大全
2010/03/23 PHP
hessian 在PHP中的使用介绍
2010/12/13 PHP
php安全配置 如何配置使其更安全
2011/12/16 PHP
php中导出数据到excel时数字变为科学计数的解决方法
2013/02/03 PHP
php中curl、fsocket、file_get_content三个函数的使用比较
2014/05/09 PHP
PHP面向对象程序设计高级特性详解(接口,继承,抽象类,析构,克隆等)
2016/12/02 PHP
在Laravel5.6中使用Swoole的协程数据库查询
2018/06/15 PHP
php和nginx交互实例讲解
2019/09/24 PHP
thinkphp5 框架结合plupload实现图片批量上传功能示例
2020/04/04 PHP
jQuery 图像裁剪插件Jcrop的简单使用
2009/05/22 Javascript
jQuery代码优化 事件委托篇
2011/11/01 Javascript
javascript实例分享---具有立体效果的图片特效
2014/06/08 Javascript
Javascript中3个需要注意的运算符
2015/04/02 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
2016/08/10 Javascript
JS实现websocket长轮询实时消息提示的效果
2017/10/10 Javascript
浅谈使用React.setState需要注意的三点
2017/12/18 Javascript
JS声明对象时属性名加引号与不加引号的问题及解决方法
2018/02/16 Javascript
详解mpvue开发小程序小总结
2018/07/25 Javascript
node使用Mongoose类库实现简单的增删改查
2018/11/08 Javascript
layui table设置某一行的字体颜色方法
2019/09/05 Javascript
关于layui 实现点击按钮添加一行(方法渲染创建的table)
2019/09/29 Javascript
vue单元格多列合并的实现
2020/11/26 Vue.js
Python 第一步 hello world
2009/09/25 Python
python下读取公私钥做加解密实例详解
2017/03/29 Python
Python对List中的元素排序的方法
2018/04/01 Python
浅谈Django的缓存机制
2018/08/23 Python
利用python修改json文件的value方法
2018/12/31 Python
python实现小世界网络生成
2019/11/21 Python
毕业生找工作推荐信
2013/11/21 职场文书
长城英文导游词
2015/01/30 职场文书
2014年度个人总结范文
2015/03/09 职场文书
教师专业技术工作总结2015
2015/05/13 职场文书
如何利用JavaScript实现二叉搜索树
2021/04/02 Javascript
Python 如何利用ffmpeg 处理视频素材
2021/11/27 Python
类和原型的设计模式之复制与委托差异
2022/07/07 Javascript