chp02-01文本文件的读写
pandas中常见文件读写方法
读
+ **read_csv**
+ **read_excel**
+ read_hdf
+ read_sql
+ read_json
+ read_msgpack (experimental)
+ read_html
+ read_gbq (experimental)
+ read_stata
+ read_sas
+ read_clipboard
+ read_pickle
写
+ **to_csv**
+ **to_excel**
+ to_hdf
+ to_sql
+ to_json
+ to_msgpack (experimental)
+ to_html
+ to_gbq (experimental)
+ to_stata
+ to_clipboard
+ to_pickle
其它数据源:
+ 数据库
+ 读取网页数据,网络文件
+ 读取股票数据
+ yahoo,世界银行等等
读取你的第一个文件
文本文件是我们在工作中最常见的数据文件,常见的格式有csv、tsv、txt等,这节课我们就来介绍一些这种类型的文件的读写。
读取文本文件,我们只需要使用pandas中的`read_csv`函数即可。csv、tsv、txt格式的文件都可以用`read_csv`这一个函数读取。
# 首先导入我们所需要的模块
import pandas as pd
读入带表头的数据
df = pd.read_csv('../data/housing.csv') # 默认会把第一行当做表头
print(df.shape)#查看数据行列
df.head()#查看前5行
pd.read_csv?常见参数 pd.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None, squeeze=False, prefix=None, mangle_dupe_cols=True, dtype=None, engine=None, converters=None, true_values=None, false_values=None, skipinitialspace=False, skiprows=None, nrows=None, na_values=None, keep_default_na=True, na_filter=True, verbose=False, skip_blank_lines=True, parse_dates=False, infer_datetime_format=False, keep_date_col=False, date_parser=None, dayfirst=False, iterator=False, chunksize=None, compression='infer', thousands=None, decimal=b'.', lineterminator=None, quotechar='"', quoting=0, escapechar=None, comment=None, encoding=None, dialect=None, tupleize_cols=False, error_bad_lines=True, warn_bad_lines=True, skipfooter=0, skip_footer=0, doublequote=True, delim_whitespace=False, as_recarray=False, compact_ints=False, use_unsigned=False, low_memory=True, buffer_lines=None, memory_map=False, float_precision=None)
需要掌握的几个参数:
1. 文件路径:这个毫无疑问,不然程序怎么知道你要读取的是哪个文件
2. 分隔符sep:默认为',',具体的根据你的文件中具体的分隔符来指定。常见的有'\t',',','|'等。
3. 编码方式encoding:默认为'utf-8',也可能是其他方式,常见的编码方式有utf-8,gbk,utf-16等。
4. header:默认把第一行数据当做表头。当读入无表头的数据时,要将其设置为None。
读取不带表头的文件
df = pd.read_csv('../data/play_noheader.txt',sep=',',encoding='utf-8')
print(df.shape)#查看数据行列
df.head()#查看前5行
# 通过header = None 设置首行为非表头
df = pd.read_csv('../data/play_noheader.txt',sep=',',encoding='utf-8',header=None)
print(df.shape)#查看数据行列
df.head()#查看前5行
# 我们也可以通过制定names参数,指定表头
colnames = ['weather','Temperature','Humidity','Wind','Golfplay']
df = pd.read_csv('../data/play_noheader.txt',sep=',',encoding='utf-8',header=None,names = colnames)
print(df.shape)#查看数据行列
df.head()#查看前5行
当然也可以在读取进来后,设置表头字段名。
df.columns = colnames
读取其他分隔符的文件
读取其他分隔符的文件时,只需要指定sep参数分隔符即可。如我们这里有一份以?分隔的文本文件。
df = pd.read_csv('../data/play_sep.txt',sep='?',encoding='utf-8')
print(df.shape)#查看数据行列
df.head()#查看前5行
几个非常用参数
- dtype 读取时指定字段类型,有些时候默认读入时,字段类型识别的不对,这时我们可以通过指定dtype参数强制设置字段类型。
- skiprows 读取时跳过前n行,有时候文件的前n行不是我们需要的,可以直接设置skiprows进行跳过不读入。
- skipfooter 读取时跳过后n行,有时候文件的后n行不是我们需要的,可以直接设置skipfooter进行跳过不读入。
- nrows 现在只读入n行数据,有时候要读取的文件太大,而我们只想简单看看这个数据都有哪些字段等信息,可以设置只读取n行数据,快速查看。
使用skiprows和skipfooter时,需配合使用参数 engine = 'python'
df = pd.read_csv('../data/housing.csv',dtype={'Year.Built':'str'})
df.info()
df = pd.read_csv('../data/housing.csv',skiprows= 1000,engine='python')
df = pd.read_csv('../data/housing.csv',skipfooter = 1000,engine='python')
df = pd.read_csv('../data/housing.csv',nrows = 100)
df.shape
写出你的第一个文件
在`pandas`中,与`read_csv`相对应地,也存在写出函数`to_csv`。
常用的几个参数:
1. 文件路径:这个毫无疑问,不然程序怎么知道你要把文件输出到哪里
2. 分隔符sep:默认为',',具体的根据你的文件中具体的分隔符来指定。常见的有'\t',',','|'等。
3. 编码方式encoding:默认为'utf-8',也可能是其他方式,常见的编码方式有utf-8,gbk,utf-16等。
4. header:只能设置为True或False,默认为True,把第一行数据当做表头。当读入无表头的数据时,要将其设置为False。
5. index:输出文件是否带索引,推荐设置为False,不带索引列。
如我们这里将上文中的df写出到data目录下,命名为play_output.csv,设置分隔符为|,编码方式为utf-8,带表头,不带索引。
df.to_csv('../data/play_output.csv',index=False,encoding='utf-8',sep='|')
chp02-01文本文件的读写相关推荐
- Python实训day03pm【列表生成式、非文本文件的读写与复制、文本文件读写练习】
Python实训-15天-博客汇总表 目录 1.列表生成式 2.列表的嵌套 2.1.习题1 2.2.习题2 3.非文本文件的读写 3.1.读取文件的大小 3.2.复制文件 4.课堂练习 列表生成式 非 ...
- Matlab学习笔记——文本文件的读写
写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 文本文件的读写 fscanf函数和fprintf函数 fmt由%加上格式符组成 文本文件的读写 fscanf函数和 ...
- Java读取文件流用什么对象_使用Java IO流实现对文本文件的读写过程中,通常需要处理下列( )异常。_学小易找答案...
[论述题]请根据第一次平时作业的选题,结合第二次课内容,自拟一个论文提纲. [单选题]在 switch ( expression )语句中, expression 的数据类型不能是 ( ) [单选题] ...
- 【java】简单的方式实现文本文件的读写
背景 我们在平时的程序编写的过程中,可能会遇到需要文本文件的读写,本文呈现了一种简洁的文件读写方式.代码行数很少. 代码 import java.io.FileInputStream; import ...
- 文本文件的读写(字符流)
package com.hanchao.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java. ...
- 标准IO库fgets和fputs对一个文本文件的读写操作
一 前言 本篇主要讲解如何使用缓冲IO对文件进行读写操作,使用fgets函数和fputs函数. 二 fgets fgets的原型 char *fgets (char *buffer,int buffe ...
- 简述UTF-8编码原理及其文本文件的读写技术 【转】
系统自带的记事本有读写UTF-8文本文件的功能,我想在自编的记事本中也加入这个功能,但在网上查找了一个钟头,竟然找不到用VB编写的代码,看来,天降大任于斯人也,大概要由我来开这个头了. 于是我在网上狂 ...
- Matlab编程技巧:文本文件的读写
在MBD(基于模型的设计)中涉及到了各种各样的文本文件,对文本文件的自动化处理可以大大提高工作效率.本文简单介绍处理文本文件的第一步--导入文本文件到Matlab. 文章目录 1 文本文件 2 读取文 ...
- 打开文件、文本文件的读写、二进制文件的读写
一.打开文件 文件的操作步骤: • 打开文件 • 对文件进行各种操作(读.写)然后保存 • 关闭文件 文件会有一个返回值.返回一个对象,这个对象就表示的是当前的文件. 先在桌面创建一个两行内容为'刘亦 ...
- matlab对文本文件的读写
https://blog.csdn.net/u012366767/article/details/81565427 介绍Matlab读写文本文件的方法,包括load.dlmread.csvread.i ...
最新文章
- 【数据结构】链式栈的实现(C语言)
- 如何将模糊的图片变得清晰
- ai ci ba logon use infomation
- linux 没权限dev null,Linux mint cinnamon 64位找不到/dev/null
- Fishe向量Fisher Vecotr(二)
- 一、 Log4E插件下载
- 2018收官蓉城,探秘多媒体开发新趋势
- 由ORA-28001同一时候带出ORA-28000的解决的方法
- yml连接sqlserver_Mybatis-plus连接操作SQLServer数据库(基于Maven项目)
- jquery基本选择器:id选择器、class选择器、标签选择器、通配符选择器
- Python 基础课程第五天
- BNU 斩(超级大水题)
- 苹果手机屏幕尺寸_苹果有意推出 折叠屏手机,屏幕尺寸或为 7.2 寸!
- jsdroid 教程_电气设计编程视频教程,涉及PLC、电气绘图、仿真等共400多份资料...
- php fatal error: cannot redeclare,Fatal error: Cannot redeclare 常见问题_PHP教程
- 20多年老码农的IT学习之路
- iOS小技能:安全措施
- 1.主流的流媒体服务器FMS/wowza/red5/SRS产品对比
- Spark2.3.2源码解析: 5. SparkConf源码分析
- 「LuoguP4995」「洛谷11月月赛」 跳跳!(贪心
热门文章
- 百度推广优化(百度推广优化技巧)
- java避免空指针异常_第1部分:在现代Java应用程序中避免空指针异常
- python 中的numpy_Python中numpy的应用
- 信必优荣获BOSS直聘“王者之舟·最爱人才雇主奖”
- Failed to build custom metric java.lang.NumberFormatException: For input string: “∞“
- 七麦数据:2018年10月App Store大数据
- 九零后程序员心塞:“30岁,月薪还没过万,是我的问题吗”
- 计算机在一个指令中的过程中,为从内存读取指令操作码,首先要将()的内容送到地址总线上
- 电池电压(电量)检测器的制作
- 移动电影院创造中国电影市场的新增量