read_csv

1 创建csv文件

在记事本上用英文逗号分隔出数据,另存为

下文以该csv文件为例分析。

2 读取csv文件

 pandas.read_csv()

 dataframe = read_csv(filepath_or_buffer, sep=', ',header='infer',names=None,low_memory,usecols=[0], engine='python')

filepath_or_buffer:csv文件的有效路径。可以是csv文件的直接路径'D:/data/a.csv',也可以将csv文件移动到当前工作目录下直接利用文件名'a.csv'读取

sep:在python读取csv文件(Comma Separated Values)默认用逗号来分隔的。当实际csv文件用\t来分割时需要修改sep='\t'。另外为方便使用可定义delim_whitespace=True,即不管分隔符是什么,只要是空白字符,都可读取数据 。

header: 指定作为整个数据集列名的行。#被用作列名的行的编号,默认参数的意思为:如果没有names参数,则认为第一行认为是列名,即header=0#设置header=0会覆盖下面的names参数。

names: 在不删除原文件的内容的基础上增加新列名

import pandas as pd
df3=pd.read_csv('a.csv',names=['name','class','grade'])
print(df3)
#Out:name class grade
#     姓名 班级  分数
#  0  小明  302   87
#  1  小王  303   95
#  2  小方  303  100
#  3  小华  301   61
#  4  小花  302   79

注意既定义names又定义header,先执行header再执行names,即先将原文件行索引为i 的那一行作为表头,在此基础上用names替代原表头。

import pandas as pd
df=pd.read_csv('a.csv',names=['name','class','grade'],header=2)
print(df)
#Out:name  class  grade
#0   小华    301     61
#1   小花    302     79

low_memory:csv文件存在不同列的数据类型不一致的问题,可设置low_memory=False

usecols:指定只读取文件中的某一列数据,类型为列表。例如只读取前四列,usecols = [0,1,2,3] 

engine:解析数据的引擎,可以是python也可以是c

os.getcwd() 可以返回当前工作目录。

import os
print("当前工作目录 : ", os.getcwd())
#Out:当前工作目录 :  D:\Python_soft

3 合并多个结构相同的csv文件

https://mp.weixin.qq.com/s?src=11×tamp=1648113323&ver=3696&signature=xQsMfirkvTAteMsxIEgZ7qFJ*WVHsNNhAHjkff5kpdSDQXDz*d17kUzz5Zddi2MP0k1PKq29C8ps76CIzuYnPi6HvaZW0MU4kkQ2WWdmM3c3NvC8RyKy8sUts*RDpk-6&new=1https://mp.weixin.qq.com/s?src=11×tamp=1648113323&ver=3696&signature=xQsMfirkvTAteMsxIEgZ7qFJ*WVHsNNhAHjkff5kpdSDQXDz*d17kUzz5Zddi2MP0k1PKq29C8ps76CIzuYnPi6HvaZW0MU4kkQ2WWdmM3c3NvC8RyKy8sUts*RDpk-6&new=1

4 删除行或列

4.1 drop函数删除整列

df.drop(['列索引名1','列索引名2'],axis=1) :删除列索引名1,列索引名2的整列数据

import pandas as pd
df=pd.read_csv('a.csv')
df=df.drop(['班级','分数'],axis=1)
print(df)
#Out:姓名
#  0  小明
#  1  小王
#  2  小方
#  3  小华
#  4  小花

4.2 drop函数删除整列

df.drop([1,2]) :删除行索引是1、2的整行数据,注意行索引有所改变 

import pandas as pd
df=pd.read_csv('a.csv')
df=df.drop([1,2])
print(df)
#Out:姓名  班级 分数
#  0  小明  302  87
#  3  小华  301  61
#  4  小花  302  79

有用请点个赞吧~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值