Pandas读取csv文件

举报
terry-lyz 发表于 2022/02/19 12:24:38 2022/02/19
【摘要】 对于文件的操作中,读写csv操作是一个比较常见的操作,很多时候可能会选择使用python中的文件读取的方式对csv文件操作,这种方式并没有什么问题,但读写的效率不高,编写的代码量也偏多。这里介绍使用pandas进行简单的读。写也基本类似。一、表头读取:使用pandas读取表头很简单,使用如下一行代码即可,如下: # 读取表头 head_row = pd.read_csv('123...

对于文件的操作中,读写csv操作是一个比较常见的操作,很多时候可能会选择使用python中的文件读取的方式对csv文件操作,这种方式并没有什么问题,但读写的效率不高,编写的代码量也偏多。

这里介绍使用pandas进行简单的读。写也基本类似。

一、表头读取:

使用pandas读取表头很简单,使用如下一行代码即可,如下:

    # 读取表头
    head_row = pd.read_csv('123.csv', nrows=0)

上面的代码读取的是一个对象,若使用print语句打印head_row,得到的是一个地址,可以增加如下一行代码,使得到的结果更为直观:

 
    # 表头列转为 list
    head_row_list = list(head_row)

二、具体数据读取

若一文件读取的方式读取具体数据,需要编写的代码量比较多,并且需要通过循环遍历实现,使用pandas操作可以比较方便实现,如下:

    # 读取
    csv_result = pd.read_csv('123.csv', usecols=head_row_list)
    row_list = csv_result.values.tolist()
    print(f"行读取结果:{row_list}")

示例展示的是打印行读取的结果。

使用pandas,还可以很方便的将行转换为列,并打印出行转列的结果,如下:

    col_obj = csv_result.T
    col_list = col_obj.values.tolist()
    print(f"行转列读取结果:{col_list}")
    return head_row_list, col_list

完整示例代码如下:

import pandas as pd
 
 
def csv_file_read():
    # 读取表头
    head_row = pd.read_csv('123.csv', nrows=0)
    print(list(head_row))
    # 表头列转为 list
    head_row_list = list(head_row)
 
    # 读取
    csv_result = pd.read_csv('123.csv', usecols=head_row_list)
    row_list = csv_result.values.tolist()
    print(f"行读取结果:{row_list}")
    col_obj = csv_result.T
    col_list = col_obj.values.tolist()
    print(f"行转列读取结果:{col_list}")
    return head_row_list, col_list
 
 
 
if __name__ == '__main__':
    csv_file_read()
 
【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。