栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

2021-10-30

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-10-30

python数据清洗:替换csv文件中的特殊符号、查找文件路径
  • 方法一:利用for循环及正则表达式替换
  • 方法二:直接对需要替换的列使用正则表达式替换
  • 方法三:使用replace替换
  • 另外,anaconda中,查找当前目录代码存储位置的路径可使用:

假设存在一列数据,需要将 ‘+’删去或是替换成空

方法一:利用for循环及正则表达式替换
import pandas as pd
import re
import csv
#使用pd函数将Excel表格p中的数据读取,存储到users中
users=pd.read_excel('./p.xlsx')
#利用for循环按列遍历每一列
for i in (users.columns):
#检验每一列中的“+”将其替换成空
#(由于“+”号在正则表达式中是特殊符号,因此在替换时“+”前需要加一个“”)
   users[i]=users[i].apply(lambda x:re.sub('+','',str(x)))
#查看替换是否成功
users

注意:由于+ - * ?这几个都属于正则表达式中的保留字,因此,若需要将它们作为字符中的字符元素进行搜索和替换时,必须使用转义符符号""
即"+“表示字符”+"; "*“表示字符”
"; “-“表示字符”-”; “?“表示字符”?”;

方法二:直接对需要替换的列使用正则表达式替换
import pands as pd 
import csv
import re
#将csv文件中的数据读入data中
data = pd.read_csv('./p.csv',encoding='utf-8')
#对“评价”这一列进行替换
data[u'评价'] = data[u'评价'].astype(str)
data[u'评价'] = data[u'评价'].apply(lambda x :re.sub('+','',str(x)))
#将替换后的的数据存到p.csv文件中
data.to_csv('./p.csv',index=False,encoding='utf-8')
#查看替换后的结果
data 

(结果与方法一同)

方法三:使用replace替换

(若用于数据清洗进行替换不太推荐此方法,因为此读取方法会将数据变成字符串的格式)

import os
import os.path 
import pandas as pd
import csv

csvpath=os.getcwd()+"\"
f=open('./Perfume.csv',encoding='UTF-8')
content=f.read()
t=content.replace('+','')
print(t)

结果:

另外,anaconda中,查找当前目录代码存储位置的路径可使用:
import os 
print(os.path.abspath('.'))
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/360467.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号