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文件
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
有用请点个赞吧~