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文本文件的读写相关推荐

  1. Python实训day03pm【列表生成式、非文本文件的读写与复制、文本文件读写练习】

    Python实训-15天-博客汇总表 目录 1.列表生成式 2.列表的嵌套 2.1.习题1 2.2.习题2 3.非文本文件的读写 3.1.读取文件的大小 3.2.复制文件 4.课堂练习 列表生成式 非 ...

  2. Matlab学习笔记——文本文件的读写

    写在这里的初衷,一是备忘,二是希望得到高人指点,三是希望能遇到志同道合的朋友. 目录 文本文件的读写 fscanf函数和fprintf函数 fmt由%加上格式符组成 文本文件的读写 fscanf函数和 ...

  3. Java读取文件流用什么对象_使用Java IO流实现对文本文件的读写过程中,通常需要处理下列( )异常。_学小易找答案...

    [论述题]请根据第一次平时作业的选题,结合第二次课内容,自拟一个论文提纲. [单选题]在 switch ( expression )语句中, expression 的数据类型不能是 ( ) [单选题] ...

  4. 【java】简单的方式实现文本文件的读写

    背景 我们在平时的程序编写的过程中,可能会遇到需要文本文件的读写,本文呈现了一种简洁的文件读写方式.代码行数很少. 代码 import java.io.FileInputStream; import ...

  5. 文本文件的读写(字符流)

    package com.hanchao.test; import java.io.BufferedReader; import java.io.BufferedWriter; import java. ...

  6. 标准IO库fgets和fputs对一个文本文件的读写操作

    一 前言 本篇主要讲解如何使用缓冲IO对文件进行读写操作,使用fgets函数和fputs函数. 二 fgets fgets的原型 char *fgets (char *buffer,int buffe ...

  7. 简述UTF-8编码原理及其文本文件的读写技术 【转】

    系统自带的记事本有读写UTF-8文本文件的功能,我想在自编的记事本中也加入这个功能,但在网上查找了一个钟头,竟然找不到用VB编写的代码,看来,天降大任于斯人也,大概要由我来开这个头了. 于是我在网上狂 ...

  8. Matlab编程技巧:文本文件的读写

    在MBD(基于模型的设计)中涉及到了各种各样的文本文件,对文本文件的自动化处理可以大大提高工作效率.本文简单介绍处理文本文件的第一步--导入文本文件到Matlab. 文章目录 1 文本文件 2 读取文 ...

  9. 打开文件、文本文件的读写、二进制文件的读写

    一.打开文件 文件的操作步骤: • 打开文件 • 对文件进行各种操作(读.写)然后保存 • 关闭文件 文件会有一个返回值.返回一个对象,这个对象就表示的是当前的文件. 先在桌面创建一个两行内容为'刘亦 ...

  10. matlab对文本文件的读写

    https://blog.csdn.net/u012366767/article/details/81565427 介绍Matlab读写文本文件的方法,包括load.dlmread.csvread.i ...

最新文章

  1. 【数据结构】链式栈的实现(C语言)
  2. 如何将模糊的图片变得清晰
  3. ai ci ba logon use infomation
  4. linux 没权限dev null,Linux mint cinnamon 64位找不到/dev/null
  5. Fishe向量Fisher Vecotr(二)
  6. 一、 Log4E插件下载
  7. 2018收官蓉城,探秘多媒体开发新趋势
  8. 由ORA-28001同一时候带出ORA-28000的解决的方法
  9. yml连接sqlserver_Mybatis-plus连接操作SQLServer数据库(基于Maven项目)
  10. jquery基本选择器:id选择器、class选择器、标签选择器、通配符选择器
  11. Python 基础课程第五天
  12. BNU 斩(超级大水题)
  13. 苹果手机屏幕尺寸_苹果有意推出 折叠屏手机,屏幕尺寸或为 7.2 寸!
  14. jsdroid 教程_电气设计编程视频教程,涉及PLC、电气绘图、仿真等共400多份资料...
  15. php fatal error: cannot redeclare,Fatal error: Cannot redeclare 常见问题_PHP教程
  16. 20多年老码农的IT学习之路
  17. iOS小技能:安全措施
  18. 1.主流的流媒体服务器FMS/wowza/red5/SRS产品对比
  19. Spark2.3.2源码解析: 5. SparkConf源码分析
  20. 「LuoguP4995」「洛谷11月月赛」 跳跳!(贪心

热门文章

  1. 百度推广优化(百度推广优化技巧)
  2. java避免空指针异常_第1部分:在现代Java应用程序中避免空指针异常
  3. python 中的numpy_Python中numpy的应用
  4. 信必优荣获BOSS直聘“王者之舟·最爱人才雇主奖”
  5. Failed to build custom metric java.lang.NumberFormatException: For input string: “∞“
  6. 七麦数据:2018年10月App Store大数据
  7. 九零后程序员心塞:“30岁,月薪还没过万,是我的问题吗”
  8. 计算机在一个指令中的过程中,为从内存读取指令操作码,首先要将()的内容送到地址总线上
  9. 电池电压(电量)检测器的制作
  10. 移动电影院创造中国电影市场的新增量