pandas——对csv文件进行增加列、删除列、删除行、修改、查找重复等系列操作

该博客介绍了如何使用pandas进行CSV文件处理,包括合并文件、读取、删除重复行、修改内容、删除和重命名列、插入列、删除指定行范围、删除0项行等操作,适用于数据预处理和爬虫项目。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

算是爬虫中对庞大的数据进行预处理的很重要的一步。
经过一段时间的工作不断完善,功能上基本实现了我的预期。

最终结果csv文件大概长这样

import pandas as pd
import numpy as np
import re
import csv
import sys

这是我的引用import各种包。

1. 合并csv文件(在cmd中进行操作)

cat *.csv>all.csv

或者

cat 1.csv 2.csv 3.csv...>all.csv

(先通过cmd进入目录内,然后用上面的指令合并多个csv为all.csv)

1. 读csv文件

df=pd.read_csv('/Users/hey/Desktop/楼宇办公自动化_nodup.csv') 
df=df.astype(str)

第一行是读指定目录下的特定文件,写的绝对路径
第二行通过转换里面的数据为str也就是字符串以便操作

3. 删除重复

df.drop_duplicates('name', 'first', inplace=True)

inplace=True意思就是应用修改到文件中,如果只是想在环境中跑跑试试可以去掉inplace=True,这样新的导出文件就不会有改动。
‘name’这一列写的是产品具体品牌型号等等,通过检查name就知道有没有商品爬重复了。

4. 写入CSV文件

df = df.to_csv("/Users/hey/Desktop/楼宇办公自动化_nodup.csv",index=0)  

5. 删除包含关键字的行

### 如何使用Pandas删除CSV文件中含有特定字符串的 当处理CSV文件时,有时需要移除含有某些特定字符或模式的。这可以通过`pandas`库来实现,该库提供了一个强大而灵活的数据分析工具集[^1]。 为了完成此操作,首先应当加载CSV文件到DataFrame对象中: ```python import pandas as pd df = pd.read_csv('example.csv') ``` 假设目标是从数据框中去除那些名称包含某个特殊字符串(比如"unwanted")的所有,则可以采用如下方法构建一个新的不含这些的数据帧: ```python columns_to_drop = [col for col in df.columns if 'unwanted' in str(col)] df_cleaned = df.drop(columns=columns_to_drop) ``` 上述代码片段创建了一个表推导式,用于筛选出所有在其名字内含有所谓“不想要”的关键词的名,并将其传递给`.drop()`函数以执实际的删除动作。 如果意图基于的内容而非其标题来进过滤——即查找并丢弃任何单元格值等于预定义字符串的整——那么可调整策略如下所示: ```python def contains_specific_string(series, target_str): return series.astype(str).str.contains(target_str).any() columns_with_target_str = list(df.apply(lambda x: contains_specific_string(x, 'target'), axis=0)) df_filtered = df.loc[:, ~columns_with_target_str] ``` 这里定义了一个辅助函数`contains_specific_string`用来判断一整个系列里是否存在指定的目标字符串;接着利用`apply()`配合自定义逻辑遍历每一,最终得到一个布尔型序指示哪些位置对应着应被排除掉的特征向量[^2]。 一旦完成了所需变换之后,记得保存更新后的表格回磁盘上: ```python df_cleaned.to_csv('cleaned_example.csv', index=False) ``` 这样就实现了从原始输入源剔除非期望部分的功能需求。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Dear Slim.

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值