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

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 pd
    
    df = 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 pd
    
    df = 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 pd
    
    tb = pd.read_table('xuexi.txt', sep=' \|\|\|\| ', engine='python')
    print(tb)
    

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

如果不去除索引:

import numpy as np
import pandas as pd

df = pd.read_csv('xuexi.csv')
print(df)

df.to_csv('xuexi.csv')

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

在这里插入图片描述

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


http://www.kler.cn/a/516575.html

相关文章:

  • vscode下poetry管理项目的debug配置
  • Linux 执行 fdisk -l 出现 GPT PMBR 大小不符 解决方法
  • CNN-GRU卷积门控循环单元时间序列预测(Matlab完整源码和数据)
  • 智能化加速标准和协议的更新并推动验证IP(VIP)在芯片设计中的更广泛应用
  • Linux应用编程(五)USB应用开发-libusb库
  • 《鸿蒙Next原生应用的独特用户体验之旅》
  • leetcode——矩阵置零(java)
  • 亚马逊新店铺流量怎么提升?自养号测评新趋势
  • rabbitmq单机与集群模式的部署
  • 刷题笔记 贪心算法-1 贪心算法理论基础
  • 拒绝 Github 投毒,通过 Sharp4SuoBrowser 分析 Visual Studio 隐藏文件
  • 前后分离Vue3+Django 之简单的登入
  • C++函数——fill
  • leetcode刷题记录(八十四)——739. 每日温度
  • 2.2.2 大小写敏感性
  • Facebook广告零支出无消耗:可能原因与解决方法
  • 鞅的定义_
  • Ubuntu二进制部署K8S 1.29.2
  • C语言数组详解:从基础到进阶的全面解析
  • bat批处理删除此电脑左侧及另存为下文档视屏等多余项
  • [java] java基础-字符串篇
  • PyTorch入门 - 为什么选择PyTorch?
  • arcgis for js只显示范围内的天地图,其余部分透明
  • Vue基础(2)
  • 前k个高频元素力扣--347
  • 详解C#中的特性(Attribute)