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

最新文章

  1. Dev控件GridView单元格绑定控件
  2. 类型转换bin()、chr()、ord() 、int()、float()、str()、repr()、bytes()、tuple(s )、 list(s )   、unichr(x ) 、 ord(x )  、 hex(x )  、          type()数据类型查询
  3. Effective C++ -----条款30:透彻了解inlining的里里外外
  4. TKinter事件及绑定
  5. Debian 中添加ppa
  6. 在MAC系统上进行屏幕录制
  7. ADO.NET——获取output 和 return值
  8. php获取汉字首字母
  9. 用百度API实现热(WIFI)、GPS、基站定位
  10. Lua 迭代器
  11. Shell命令替换与变量替换
  12. HTML学习(四)样式
  13. Spring + Spring MVC + MyBatis 整合
  14. EBS 可拓展的外部信用风险导入
  15. 树的广度优先遍历和深度优先遍历(递归非递归、Java实现)
  16. Netty中如何写大型数据
  17. Postman-----将 A 请求中 response Body 中的参数值传入到下一个请求 B 的 request body 中作为参数发送请求
  18. .net aop 操作 切面应用 Castle.Windsor框架 spring 可根据接口 自动生成一个空的实现接口的类
  19. sklearn.linear_model.LinearRegression
  20. 6-3-1appium iOS

热门文章

  1. Oracle函数sys_connect_by_path用法
  2. Python 发送企业微信消息
  3. git 版本(commit) 回退 -- 使用git reset 指令
  4. Java8 新特性 Stream 非短路终端操作
  5. gcc/g++ -O 优化选项说明
  6. 【C++】Debug模式和Release模式的区别
  7. [转帖]【译】RAID的概念和RAID对于SQL性能的影响
  8. MonkeyDev安装--逆向开发
  9. 【03】Kubernets:K8S 操作入门
  10. Java中如何获取一个类中泛型的实际类型