pandas读写csv

pandas

python提供了csv库专门用于csv文件的读写,但它的功能不是很强大。

而pandas则弥补了这些问题:

  • 有专门支持读取csv文件的pd.read_csv()函数
  • 读取为DataFrame格式
  • 支持通过列名查找特定列
  • 功能强大,方便扩展

以下是待处理的csv文件:

在这里插入图片描述

读取

读取csv文件只需要一行代码:

#--coding: utf-8--

import pandas as pd

file_path = r'./demo.csv'
df = pd.read_csv(file_path, header=None, encoding="utf-8-sig", index_col = 0)

print(df)

搞定,输出如下:

在这里插入图片描述

说明:

  • read_csv方法返回dataframe
  • 可以把 dataframe 看作是一个有行index和列colums的数据结构
  • dataframe默认会自动生成自然序号的行index,并以文件第一行内容作为列colums名
  • read_csv方法提供了丰富的参数进行定制化地文件读取
  • header=None 指定了文件没有表头,不要把第一行当作列名,这里列名是自然序号
  • encoding=“utf-8-sig” 指定编码,防止不同操作系统间出现编码问题
  • index_col = 0 指定以第一列(0为列的序号)作为行index,这里也可以指定列名
  • 还有其它参数,如 usecols=[“a”, “b”] 指定要读取的列名,这时只会读取指定的列
  • 也可以使用 names=[“a”, “b”, “c”, “d”] 指定列名,如果已经有列名,则原列名被覆盖
写入

可以先生成一个DataFrame对象,然后直接写入csv文件:

data = {'animal': ['cat', 'dog'],
        'age': [2.5, 3],
        'name': ['kitty', 'huanghuang'],
        'owner': ['kk', 'hh']}
df = pd.DataFrame(data)

print(df)

# 默认自然序号的index会保存到csv文件
df.to_csv("test.csv")
 
# 不保存index
df.to_csv("test_1.csv", index=False)

正如注释一样,生成的文件如下:

test.csv:

在这里插入图片描述

test_1.csv:
在这里插入图片描述

在写入中增加选项 columns=["animal", "age"] 可以只把指定的列写入文件:

在这里插入图片描述

小结

可见,使用pandas操作csv文件是很简单的。

当然,还有很多参数没有列出,如果有需求,可以直接查询相关接口。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值