pandas处理csv文件

解析的csv文件如下:
在这里插入图片描述
csv文件所在位置:~/Desktop/mycsv.csv

  1. 导入包
import pandas as pd
import os
  1. 读取csv文件
df = pd.read_csv('~/Desktop/mycsv.csv', encoding='utf-8',index_col=0,dtype=str)
print("csv文件初始内容:\n",df)

输出内容如下:

S137005023-Mac:~ xyt$ python3 '/Users/xyt/Desktop/testNote/csvPart.py'
csv文件初始内容:
             stuID score
studentName            
stu1            1   100
stu2            2    90
stu3            3    80
  1. 删除行
# csv头部第一个元素为name 即 studentName,删除studentName为stu1的行
df.drop('stu1', axis=0, inplace = True)
print("删除后数据:\n",df)

输出内容如下:

删除后数据:
             stuID score
studentName            
stu2            2    90
stu3            3    80

打印剩余数据

for index in range(len(df)):
    print("data.iloc[",index,"].name==>",df.iloc[index].name)
    print("data.iloc[",index,"].score==>",df.iloc[index].score)

输出如下:

data.iloc[ 0 ].name==> stu2
data.iloc[ 0 ].score==> 90
data.iloc[ 1 ].name==> stu3
data.iloc[ 1 ].score==> 80
  1. 添加行
obj_series_dict=pd.Series({'stuID':'4','score':'95'})
print("--------------\nseries 待插入数据:")
print(obj_series_dict,'\n--------------')
obj_series_dict.name = 'stu4'
#插入数据
df = df.append(obj_series_dict)
print("拼接后数据: ")
print(df,'\n--------------')

输出内容如下:

--------------
series 待插入数据:
stuID     4
score    95
dtype: object 
--------------
拼接后数据: 
            stuID score
studentName            
stu2            2    90
stu3            3    80
stu4            4    95 
--------------
  1. 存储csv文件
# 文件不存在时创建文件(目录必须已存在)
pa = os.path.join(os.getcwd(),"Desktop/newFile.csv")
print("拼接后path==> ",pa) # /Users/xyt/Desktop/newFile.csv
# 判断路径是否存在
# if not os.path.exists(path):
# 创建目录
# os.makedirs(path)
# 目录必须已存在
df.to_csv(pa, encoding='utf-8')

最后生成文件如下:
在这里插入图片描述

  1. 重新拼接
beforeTwo = df[0:2]
print("beforeTwo---\n",beforeTwo)
lastOne = df[len(df)-1:]
print("lastOne---\n",lastOne)
newCSVData = lastOne.append(beforeTwo)
pa = os.path.join(os.getcwd(),"Desktop/newFile.csv")
newCSVData.to_csv(pa, encoding='utf-8')

输出内容如下:

beforeTwo---
             stuID score
studentName            
stu2            2    90
stu3            3    80
lastOne---
             stuID score
studentName            
stu4            4    95

生成文件如下:
在这里插入图片描述
7. 删除列

newCSVData.drop('stuID', axis=1,inplace=True)
# newCSVData.drop(['stuID','score'], axis=1,inplace=True)

效果如下:
在这里插入图片描述

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值