python读取csv的三种方式

import csv

import pandas as pd

import numpy as np

def get_csv_by_open(path, list_x, list_y):

    with open(path,'r') as csvfile:
        plots = csv.reader(csvfile)

        for row in plots:
            list_x.append(row[0])

            list_y.append(row[1])

def get_csv_by_pd_read(path):

    return pd.read_csv(path, encoding='utf-8')

def get_csv_by_np_loadtxt(path):

    return np.loadtxt(path, delimiter=',', unpack=True, dtype='str')

1.get_csv_by_open 方法直接把文件的前两列读取到两个列表中保存。它会把空项读取为 ‘’。

2.get_csv_by_pd_read 方法把文件全部数据读取到一个 DataFrame 中,注意,它会默认把文件的第一行读取为 DataFrame 的 columns(把空项读取为 nan)。举例,假如 path 文件的内容是以下两列三行数据:

    1    3

    5    9

    7    11

那么 df = get_csv_by_pd_read(path) 读取到的 DataFrame 的只有两行数据,和一行列名(‘1’和‘3’)。

df['3'] 可获取包含 9 和 11 的 Series。

3. get_csv_by_np_loadtxt 方法把文件数据读取到多个 ndarray,如果不指定dtype,默认会以 float 解析数据,如果此时文件内容不全是数值,则会报错 ValueError: could not convert string to float: XXX(XXX代表非数值项的内容)


  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值