文章目录

  • 数据的导入和导出
    • 导入文件
      • 导入文本文件:pd.read_csv()
      • 导入Excel文件:pd.read_excel()
      • 相对路径和绝对路径
      • 默认列索引和行索引
      • 不要列索引
      • 指定某行为列索引
      • 添加列索引
      • 指定行索引
      • 读取指定的列
      • 指定分隔符
      • 指定读入excel的sheet页
    • 导出数据
      • 写入文本文件:df.to_csv()
      • 写入excel文件:df.to_excel()
      • 存储行索引
      • 不存储行索引
      • 不存储列索引

数据的导入和导出

Pandas能从文本文件和Excel文件中读入数据,形成dataframe,也可以将dataframe导出到文本文件、Excel文件中存储起来。

导入函数有(1)pd.read_csv():导入后缀名为.csv,.txt的文本文件;(2)pd.read_excel():导入后缀名为.xlsx的Excel文件。导出函数有(1)df.to_csv)():将数据存储到csv文件或txt文件中;(2)df.to_excel():将数据存储到Excel文件中;

无论是导入函数还是导出函数,都有参数header,表示dataframe的列索引。而行索引在导入函数中用参数index_col表示,将某列指定为行索引;行索引在导出函数中用参数index表示,指示是否要存好行索引。

导入文件

导入文本文件:pd.read_csv()

pd.read_csv()函数不光可以导入csv文件,也可以导入txt文件。

# 导入test.csv文件
df = pd.read_csv('test.csv')
# 导入test.txt文件
df = pd.read_csv('test.txt')
导入Excel文件:pd.read_excel()
# 导入test.xlsx文件
df = pd.read_excel('test.xlsx')
相对路径和绝对路径

导入文件时,要指定文件所在的路径,可以是相对路径,也可以是绝对路径。

# 导入windows下的绝对路径:导入E盘下的test.csv
pd.read_csv('E:\test.csv')
# 导入mac下的绝对路径:导入xxx文件夹下的test.csv
pd.read_csv('/Users/xxx/test.csv')

相对路径指的是当前的py文件所在的路径。当要导入的文件和py文件在同一个文件夹下,则可以用相对路径导入。

pd.read_csv('test.csv')

路径的转义?

Location = r'./test.csv'
df = pd.read_csv(Location)

注意,因为斜线是一个特殊字符,在字符串之前放置前导的 r,将会把整个字符串进行转义。

默认列索引和行索引

导入文件时,若不指定列索引,则默认将文件中的第一行当成dataframe列索引,并且为数据自动添加整数行索引。

# 默认将test.csv中的第一行当为列索引,自动添加从0开始的整数索引
pd.read_csv('test.csv')
不要列索引

若导入时,第一行是数据,并非列索引,则可以将参数header设置为None,即不让第一行成为列索引。但系统会自动添加从0开始的列索引。

df = pd.read_csv('test.csv', header=None)
指定某行为列索引

导入数据时默认第一行为列索引,但如果数据中第一行并非列索引,而是第k行,则可以用参数header指定第k行为列索引。

# 指定test.csv中的第3行是列索引
df = pd.read_csv('test.csv', header=3)
添加列索引

若导入的数据中,并没有列索引,需要添加列索引,则用参数names具体指定列索引。

# 指定test.csv(只有两列)中的列索引为['column1','column2']
df = pd.read_csv('test.csv', names=['column1','column2'])
指定行索引

导入数据时,会自动添加从0开始的整数行索引。若需要指定数据中第K列为行索引,则要用index_col参数。

# 指定第0列是dataframe的行索引
df=pd.read_csv('test.csv',index_col=0)
# 指定列名为'column'的列是dataframe的行索引
df=pd.read_csv('test.csv',index_col='column')
读取指定的列

有时候,我们并不想把所有的列都读入,只想读取前几列,或后几列,或指定几列。这时,可以使用usecols参数。

# 读取csv数据中的第0列,第1列,第2列。
df = pd.read_csv('test.csv', usecols=[0,1,2])
指定分隔符

文本文件中,用分隔符来分隔每个值,所以读入的时候,要用参数sep告诉函数分隔符是什么。默认的分隔符是逗号。

# 指定分隔符是点号
df = pd.read_csv(filename,sep='.')
指定读入excel的sheet页

Excel文件在读入时,默认读取第一页。但如果Excel文件有多页,且不想读取第一页而是其他页,则要用参数sheetname传入读入页的名称。

# 导入test.xlsx文件的sheet1页
df = pd.read_excel('test.xlsx', sheetname='sheet1')

导出数据

写入文本文件:df.to_csv()

pandas可将dataframe存储到csv文件或txt文件中。存储的路径可以是绝对路径,也可以是先对路径。

# 将数据表df存入当前py文件所在位置下的test.csv文件中,如果没有这个文件,会自动创建
df.to_csv('test.csv')
# 将数据表df存入当前py文件所在位置下的test.txt文件中,如果没有这个文件,会自动创建
df.to_csv('test.txt')
写入excel文件:df.to_excel()

写入Excel文件时,默认会写入Excel文件中的第一页。

# 将数据表df写入test.xlsx文件中
df.to_excel('test.xlsx')

如果想要写入指定的页,则用参数sheet_name。

# 将数据表df写入test.xlsx文件中'Sheet1'页
df.to_excel('test.xlsx',sheet_name='Sheet1')
存储行索引

存储时,默认将数据表中的行索引也存储到文件中。

# test.csv的行索引将会被存储起来
df.to_csv('test.csv')
不存储行索引

导出数据时,默认是要存储行索引的。不存储行索引的话,设置index的值为False。

df.to_csv('test.csv', index = False)
不存储列索引

导出数据时,默认是要存储列索引的。不存储列索引的话,设置header的值为False。不要列索引,导出的数据就没有列名。

df.to_csv('test.csv', header = False)

pandas---文件导入和导出细节详解相关推荐

  1. python读取大文件csv_对python中大文件的导入与导出方法详解

    1.csv文件的导入和导出 通过一个矩阵导出为csv文件,将csv文件导入为矩阵 将csv文件导入到一个矩阵中 import numpy my_matrix = numpy.loadtxt(open( ...

  2. mysql命令导入导出数据库_MYSQL命令行导入导出数据库详解

    Mysql命令行导入数据库: 1,将要导入的.sql文件移至bin文件下,这样的路径比较方便 2,同上面导出的第1步 3,进入MySQL:mysql -u 用户名 -p 如我输入的命令行:mysql ...

  3. exp/expdp 与 imp/impdp命令导入导出数据库详解

    exp/expdp 与 imp/impdp命令导入导出数据库详解 一.exp命令导出数据库 如何使exp的帮助以不同的字符集显示:set nls_lang=simplified chinese_chi ...

  4. 360浏览器怎么导入html,360浏览器收藏夹导入/导出方法详解

    360浏览器收藏夹导入/导出方法详解 我们在使用360浏览器的时候,如果需要将收藏夹导出备份或者将已有导出的收藏夹导入,该如何操作呢?今天一起来看看360浏览器收藏夹导入/导出方法. 360浏览器收藏 ...

  5. Android VCard联系人备份恢复(导入/导出)详解

    原文地址为: Android VCard联系人备份恢复(导入/导出)详解 首先我们简单的看下在Android中联系人的存储结构. 工作环境:android 2.3.3 联系人的主要数据存放在raw_c ...

  6. oracle导入导出版本规则,Oracle不同版本间的导入导出命令详解 - wangzhuoyan的专栏 - CSDN博......

    wangzhuoyan的专栏 明月松间照,清泉石上流 登录 注册 欢迎 退出 我的博客 配置 写文章 文章管理 博客首页   全站 当前博客  空间 博客 好友 相册 留言 用户操作 [发私信]  [ ...

  7. oracle中imp命令详解,ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP命令详细对照...

    ORACLE EXPDP IMPDP数据导入导出命令详解及同EXP IMP 命令详细对比 一.EXPDP IMPDP EXP IMP 可以实现 1.可以实现逻辑备份和逻辑恢复 2.可以在数据库用户之间 ...

  8. 【Matlab】Matlab导入多个.mat文件并画图的过程详解

    Matlab导入多个.mat文件并画图的过程详解 0. 实验背景 1. 导入.mat文件存储 1.1 导入.mat文件及作图最简单的方式: 1.2 导入.mat文件及作图的脚本代码 2. plot画图 ...

  9. unity导出面板详解(pc版)

    unity导出面板详解(pc版) 目录 Resolution and Presentation(分辨率和显示) Fullscreen Mode(全屏模式) 全屏模式 参数 功能 Fullscreen ...

最新文章

  1. JavaScriptSerializer序列化和反序列化JSON:使用自定义JavaScriptConverter
  2. Hello World With JBoss Modules
  3. 【PL/SQL】Excel批量往数据库中插入数据:
  4. Nginx内存管理详解
  5. 电脑表格日期怎么修改原有日期_为何电脑系统时间常出错或无法修改?怎么解决?...
  6. arduino智能浇花系统_arduino+水泵+继电器+RFID
  7. date.gethour_Java LocalDateTime类| 带示例的getHour()方法
  8. 服务器安装系统的工具,工具集#08 服务器安装系统指南
  9. (13)Verilog HDL变量:memory型
  10. Envious Exponents
  11. 助您写出优雅的Java代码七点建议
  12. python 修改用户对文件权限_用户管理相关内容的学习(查看文件权限 修改文件权限chmod 改变文件归属chown和chgrp)...
  13. android支付宝运动修改器,一键修改支付宝运动步数-修改支付宝运动步数工具下载不要root手机版-西西软件下载...
  14. excel求回归直线方程的公式_求回归直线方程的三种方法
  15. 单幅图像去雾java_一种基于深度学习的单幅图像去雾方法与流程
  16. MAC电脑实现微信多开
  17. itpt_TCPL 第三章:控制流
  18. Google Hacking 搜索教程,一步到位。
  19. 写一个函数,输出四次“hello world“,每次间隔3秒
  20. 中软python面试题_我入职中软国际经历告诉你 简历应该这样写

热门文章

  1. 人体工学电脑椅选购建议 | 潘魏增
  2. 奥塔哥大学计算机科学怎样,奥塔哥大学自然科学学院挂科率高吗?
  3. fastjsonfastjson 1.2.24 反序列化导致任意命令执行
  4. cdn转发防攻击_cdn可以防止攻击吗
  5. VPS云主机怎么用?
  6. 光学瞄准镜测距之数学原理
  7. 青蛙的约会解题报告(转)
  8. “因遭勒索软件攻击,我被认定工作失职开除,并被老东家索赔 21.5 万元”
  9. Java语言基础(常见对象3(数组排序(冒泡排序、选择排序、直接插入排序、快速排序、归并排序)、Arrays、基本数据类型包装类、Integer类、自动拆箱、自动装箱))
  10. Win7 + VirtualBox 安装 MacOS X 10.9 Mavericks 操作步骤