python pandas 解析(读取、写入)CSV 文件的操作方法

 更新时间:2022年12月23日 14:40:25   作者:qiuqiu1027  
这篇文章主要介绍了python pandas 解析(读取、写入) CSV 文件,本文通过示例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下

1. 使用 pandas 读取 CSV 文件

原始数据包含了公司员工的数据:

NameHire DateSalarySick Days remaining
Graham Chapman03/15/1450000.0010
John Cleese06/01/1565000.008
Eric Idle05/12/1445000.0010
Terry Jones11/01/1370000.003
Terry Gilliam08/12/1448000.007
Michael Palin05/23/1366000.008

将 CSV 文件读入 pandas DataFrame 快速而直接:

import pandas
df = pandas.read_csv('hrdata.csv')
print(df)

就这样简单:仅仅三行代码,而且其中只有一行真正有用。pandas.read_csv() 打开、分析并读取提供的 CSV 文件,并将数据存储在 DataFrame 中,打印 DataFrame 会产生以下输出:

以下是值得注意的几点:

首先,pandas 识别到 CSV 的第一行包含列名,并自动使用它们。
但是,pandas 也在 DataFrame 中使用从零开始的整数索引,那是因为没有告诉它我们的索引应该是什么。
此外,如果查看列的数据类型,会看到 pandas 已将 Salary and Sick Days 剩余列正确转换为数字,但 Hire Date 列仍然是 String,这在交互模式下很容易确认:

让我们一次解决这些问题,要使用其他列作为 DataFrame 的索引,添加 index_col 可选参数:

df2 = pandas.read_csv('hrdata.csv', index_col='Name')
print(df2)

现在,Name 字段就是我们的 DataFrame 索引:

接下来,让我们修复「Hire Date」字段的数据类型。可以使用 parse_dates 可选参数强制pandas 将数据作为日期读取,该参数定义为要作为日期处理的列名列表:

df3 = pandas.read_csv('hrdata.csv', index_col='Name', parse_dates=['Hire Date'])
print(df3)

注意输出的差异:

现在日期格式正确,可以在交互模式下轻松确认:

如果 CSV 文件的第一行中没有列名,则可以使用 names 可选参数来提供列名的列表。 如果要覆盖第一行中提供的列名,也可以使用此选项。 在这种情况下,还必须使用header = 0可选参数告诉 pandas.read_csv()忽略现有列名:

df4 = pandas.read_csv('hrdata.csv', 
            index_col='Employee', 
            parse_dates=['Hired'], 
            header=0, 
            names=['Employee', 'Hired','Salary', 'Sick Days'])
print(df4)

请注意,由于列名称已更改,因此还必须更改index_col和parse_dates可选参数中指定的列,现在这会产生以下输出:

2. 使用 pandas 写入 CSV 文件

当然,如果无法将数据从 pandas 中输出,那 pandas 可能没有多大好处。将 DataFrame 写入CSV 文件就像读取一个文件一样简单。下面让我们将带有新列名称的数据写入新的 CSV 文件:

df5 = pandas.read_csv('hrdata.csv', 
            index_col='Employee', 
            parse_dates=['Hired'],
            header=0, 
            names=['Employee', 'Hired', 'Salary', 'Sick Days'])
df5.to_csv('hrdata_modified.csv')

此代码与上述读取代码之间的唯一区别是 print(df) 替换为 df.to_csv(),新的 CSV 文件如下所示:

参考此文章连接

到此这篇关于python pandas 解析(读取、写入) CSV 文件的文章就介绍到这了,更多相关python pandas 解析CSV 文件内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • TensorFlow神经网络优化策略学习

    TensorFlow神经网络优化策略学习

    这篇文章主要介绍了TensorFlow神经网络优化策略
    2018-03-03
  • Pandas数据结构中Series属性详解

    Pandas数据结构中Series属性详解

    本文主要介绍了Pandas数据结构中Series属性详解,文中通过示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2022-04-04
  • 对python 合并 累加两个dict的实例详解

    对python 合并 累加两个dict的实例详解

    今天小编就为大家分享一篇对python 合并 累加两个dict的实例详解,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2019-01-01
  • python中plot实现即时数据动态显示方法

    python中plot实现即时数据动态显示方法

    这篇文章主要为大家详细介绍了python中plot实现即时数据动态显示方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-06-06
  • pandas的Series类型与基本操作详解

    pandas的Series类型与基本操作详解

    这篇文章主要介绍了pandas的Series类型与基本操作详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2021-03-03
  • python得到电脑的开机时间方法

    python得到电脑的开机时间方法

    今天小编就为大家分享一篇python得到电脑的开机时间方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-10-10
  • Django重设Admin密码过程解析

    Django重设Admin密码过程解析

    这篇文章主要介绍了Django重设Admin密码过程解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-02-02
  • python第三方库visdom的使用入门教程

    python第三方库visdom的使用入门教程

    Visdom:一个灵活的可视化工具,可用来对于 实时,富数据的 创建,组织和共享,本文主要介绍了python第三方库visdom的使用入门教程,分享给大家,感兴趣的可以了解一下
    2021-05-05
  • 详解Python魔法方法之描述符类

    详解Python魔法方法之描述符类

    今天带大家复习一下python描述符类的相关知识,文中有非常详细的代码示例,对正在学习python的小伙伴们有很好地帮助,需要的朋友可以参考下
    2021-05-05
  • Python中的 sort 和 sorted的用法与区别

    Python中的 sort 和 sorted的用法与区别

    这篇文章主要介绍了Python中的 sort 和 sorted的用法与区别,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2019-08-08

最新评论