当前位置: 首页 > news >正文

pandas基础:文件的读取和写入

文件的读取和写入

读取csv文件

csv文件:

name,age,city
Alice,25,New York
Bob,30,Los Angeles

read_csv('filename')

  • header:如 何处理文件的第一行。header=0将第一行作为列名,header=None表示文件中没有列名,所有行都是数据。

    import numpy as np
    import pandas as pd# 文件中没有列名,所有行都是数据。
    df = pd.read_csv('xuexi.csv', header=None)
    print('文件中没有列名,所有行都是数据')
    print(df)
    #        0    1            2
    # 0   name  age         city
    # 1  Alice   25     New York
    # 2    Bob   30  Los Angeles
    print('####################')
    # 文件中没有列名,第一行是列名。
    df = pd.read_csv('xuexi.csv', header=0)
    print('文件中没有列名,第一行是列名')
    print(df)
    #     name  age         city
    # 0  Alice   25     New York
    # 1    Bob   30  Los Angeles
    

    每一行前面的数字表示索引号。

  • index_col:将某列或多列作为索引列。

    参数可以是一个整数(列的索引位置)、一个字符串(列名)、一个整数列表或字符串列表。默认不将任何列作为索引。

    import numpy as np
    import pandas as pddf = pd.read_csv('xuexi.csv', header=0, index_col=1) # 等价于 index_col='age'
    print(df)
    #       name         city
    # age
    # 25   Alice     New York
    # 30     Bob  Los Angeles
    
  • usecols:指定读取哪些列。

    参数可以是一个整数列表(列的索引位置)、一个字符串列表(列名)或一个函数。默认读取全部列。

    import numpy as np
    import pandas as pddf = pd.read_csv('xuexi.csv', header=0, usecols=[0,1]) # 等价于 usecols=['name', 'age']
    print(df)
    #     name  age
    # 0  Alice   25
    # 1    Bob   30
    
  • parse_dates:将某些列解析为日期时间格式。

    参数可以是一个整数列表(列的索引位置)、一个字符串列表(列名)或一个布尔值。默认不解析任何列为日期时间格式。

  • nrows:指定读取的行数。

    参数是一个整数,表示读取的行数。默认读取全部行。

  • sep:自定义分隔符。

    参数用于指定分隔符(分隔列的字符)。默认值是逗号。其他分隔符要使用sep属性。

    engine用于指定pandas解析的引擎。如果是简单分隔符用‘C’即可,如果涉及正则表达式则要使用‘Python’。

    import numpy as np
    import pandas as pdtb = pd.read_table('xuexi.txt', sep=' \|\|\|\| ', engine='python')
    print(tb)
    

一般在数据写入中,最常用的操作是把index设置为False,特别当索引没有特殊意义的时候,这样的行为能把索引在保存的时候去除。

如果不去除索引:

import numpy as np
import pandas as pddf = pd.read_csv('xuexi.csv')
print(df)df.to_csv('xuexi.csv')

经过两次运行后,就是下面结果:

在这里插入图片描述

https://www.datawhale.cn/learn/content/3/81

http://www.lryc.cn/news/525332.html

相关文章:

  • 【MySQL — 数据库增删改查操作】深入解析MySQL的create insert 操作
  • 每日OJ_牛客_小红的子串_滑动窗口+前缀和_C++_Java
  • HTTP 配置与应用(局域网)
  • ultralytics 是什么?
  • AI竞争:从技术壁垒到用户数据之争
  • MySQL 主从复制(单组传统复制,GTID复制。双主复制)
  • python学opencv|读取图像(四十)掩模:三通道图像的局部覆盖
  • vue3 中如何监听 props 中的值的变化
  • Scrapy之一个item包含多级页面的处理方案
  • hive 自动检测、自动重启、记录检测日志、自动清理日志
  • HFSS同轴替换波端口
  • 【2024年华为OD机试】 (C卷,100分)- 素数之积(JavaScriptJava PythonC/C++)
  • 【C++模板】:如何判断自定义类型是否实现某个函数
  • 基于微信小程序的汽车保养系统设计与实现(LW+源码+讲解)
  • 电子应用设计方案102:智能家庭AI鱼缸系统设计
  • 【Elasticsearch】RestClient操作文档
  • 内存条的构造、原理及性能参数
  • 鸿蒙模块概念和应用启动相关类(HAP、HAR、HSP、AbilityStage、UIAbility、WindowStage、window)
  • SQLark 百灵连接工具便捷功能之生成数据库测试数据
  • ChirpIoT技术的优势以及局限性
  • Jetpack架构组件学习——使用Glance实现桌面小组件
  • C++函数——fill
  • 二叉树(了解)c++
  • 备赛蓝桥杯之第十五届职业院校组省赛第三题:产品360度展示
  • 业余无线电 对讲机常用频率使用
  • 个性化的语言模型构建思路
  • QT开发技术【QFileDialog卡顿问题】
  • 关于为什么java中nextInt()和nextLine()不能混用 | nextInt()和nextInt()之类的可以一起用
  • Android OpenGL(六) 纹理
  • git和idea重新安装后提交异常