欢迎光临
我们一直在努力

影刀RPA新手教程_CSV文件处理完全指南从读取写入到多文件合并

影刀RPA新手教程:CSV文件处理完全指南——从读取写入到多文件合并

很多人只用 Excel,但实际工程场景里 CSV 可能更适合。

CSV 的优点:纯文本、兼容性好、不需要 Excel 库、跨平台、被 Git 管理时不产生二进制冲突。

这篇文章把影刀内置指令 + Python 两种方式都讲清楚,你按场景选择。

在这里插入图片描述


一、CSV vs Excel,什么时候用 CSV

场景推荐 CSV推荐 Excel
纯数据存储(商品ID、价格、日期)
需要格式(颜色、合并单元格、公式)
大文件(10万行+) ✅(读写更快)
与Python/Pandas交互 ✅(天然支持) ✅(需要openpyxl)
版本管理(Git) ✅(可diff) ❌(二进制)
跨平台传输 ✅(无编码问题) ⚠️(格式兼容性)

实际项目里,我一般这样分配:中间数据存CSV(快),最终报表输出Excel(好看)。


在这里插入图片描述

二、影刀内置指令读写 CSV

影刀没有直接的"CSV指令",但可以用"文件读写"配合 Python。

拼多多店群自动化上架方案

读取 CSV

# Python代码指令:读取CSV
import csv

csv_path = r"D:\\数据\\商品清单.csv"
数据列表 = []

with open(csv_path, "r", encoding="utf-8") as f:
reader = csv.reader(f)
标题行 = next(reader) # 第一行是标题
for row in reader:
![在这里插入图片描述](https://iblog.csdnimg.cn/direct/8e7830d9bb894ccb94d0f59a0fa35860.png#pic_center)

数据列表.append({
"商品ID": row[0],
"商品名": row[1],
"价格": row[2],
"库存": row[3]
})

# 数据列表现在可以在影刀循环里使用

写入 CSV

# Python代码指令:写入CSV
import csv

数据 = [
["商品ID", "名称", "价格"], # 标题行
["001", "连衣裙", "128"],
["002", "T恤", "89"],
]

with open(r"D:\\数据\\output.csv", "w", encoding="utf-8-sig", newline="") as f:
writer = csv.writer(f)
writer.writerows(数据)

注意编码用 utf-8-sig。用 utf-8 的话,Excel 打开中文会乱码。utf-8-sig 会在文件头写 BOM,Excel 才能正确识别。


三、Pandas 读写 CSV(推荐)

实际上我很少用原生 csv 库。Pandas 三行搞定的事,csv 库要写十几行。

在这里插入图片描述

import pandas as pd

# 读取
df = pd.read_csv(r"D:\\数据\\商品清单.csv", encoding="utf-8")

# 筛选
热销商品 = df[df["销量"] > 1000]

# 排序
热销商品 = 热销商品.sort_values("销量", ascending=False)

# 写回
热销商品.to_csv(r"D:\\数据\\热销商品.csv", encoding="utf-8-sig", index=False)

Pandas 的优势:筛选/排序/分组/合并都在 DataFrame 里操作,不需要自己写循环。


四、批量合并多个 CSV

采集流程分多次跑,每次生成一个 CSV。需要把多个 CSV 合并成一个。

在这里插入图片描述

import pandas as pd
import os

文件夹 = r"D:\\数据\\每日采集"
所有文件 = [f for f in os.listdir(文件夹) if f.endswith(".csv")]

数据框列表 = []

for 文件名 in 所有文件:
路径 = os.path.join(文件夹, 文件名)
df = pd.read_csv(路径, encoding="utf-8")

# 添加来源标记
df["数据来源"] = 文件名
数据框列表.append(df)

# 合并所有
合并结果 = pd.concat(数据框列表, ignore_index=True)

# 去重(按商品ID去重,保留第一次出现)
合并结果 = 合并结果.drop_duplicates(subset=["商品ID"], keep="first")

# 按日期排序
合并结果 = 合并结果.sort_values("采集日期")

# 保存
合并结果.to_csv(r"D:\\数据\\汇总数据.csv", encoding="utf-8-sig", index=False)

print(f"合并完成:{len(所有文件)}个文件 → {len(合并结果)}行数据")


五、增量写入(追加而非覆盖)

采集流程频繁运行,每次追加到同一个 CSV 末尾。

import pandas as pd
import os

目标文件 = r"D:\\数据\\历史数据.csv"
新数据 = df # 本次采集的数据

if os.path.exists(目标文件):
# 文件存在:追加模式(不写标题行)
![在这里插入图片描述](https://iblog.csdnimg.cn/direct/e21aea04f0f7487fa143ea46f3ac283a.png#pic_center)

新数据.to_csv(目标文件, mode="a", header=False,
encoding="utf-8-sig", index=False)
else:
# 文件不存在:创建并写入标题行
新数据.to_csv(目标文件, mode="w", header=True,
encoding="utf-8-sig", index=False)

这里的关键是 mode="a"(append 模式)配合 header=False(避免每次都写标题行)。


六、超大CSV分块读取

TEMU店群如何管理运营?

如果 CSV 有几十万行,一次性读取会爆内存。

import pandas as pd

# 分块读取,每次读10000行
chunk_size = 10000
计数器 = 0

for chunk in pd.read_csv(r"D:\\数据\\大数据.csv",
chunksize=chunk_size,
encoding="utf-8"):
# chunk 是每个批次的数据
计数器 += len(chunk)

![在这里插入图片描述](https://iblog.csdnimg.cn/direct/3f95bd51dccc420f98cfd8e0ed088961.png#pic_center)

# 对每个批次做处理
处理后 = chunk[chunk["价格"] > 50] # 只保留价格>50的

# 追加写入(第一个批次写标题,后续不写)
if 计数器 == chunk_size:
处理后.to_csv(r"D:\\数据\\筛选结果.csv", mode="w", index=False)
else:
处理后.to_csv(r"D:\\数据\\筛选结果.csv", mode="a", header=False, index=False)

print(f"处理完成,共 {计数器} 行")


七、CSV 编码问题速查

编码问题是 CSV 最常见的坑。

问题原因解决
Excel打开中文乱码 缺少BOM标识 用 utf-8-sig 编码写入
Python读取报编码错 文件是GBK编码 用 encoding="gbk" 读取
某列数据有换行符 用户输入了回车 读取后 apply(lambda x: str(x).replace('\\n', ' '))
读取时空格被trim CSV格式问题 读时指定 skipinitialspace=True

八、影刀变量 → CSV 的完整实战

在这里插入图片描述

从采集到存储的完整链路:

# Step 1: 采集(影刀画布指令)
打开网页(...)
获取相似元素列表("商品卡片") → cards

# Step 2: 转为列表[字典]
数据列表 = []
for card in cards:
数据列表.append({
"商品ID": 获取卡片ID(card),
"名称": 获取卡片名称(card),
"价格": 获取卡片价格(card)
})

# Step 3: 写入CSV(Python代码指令)
import pandas as pd

# 数据列表 是影刀变量,在Python里直接引用
df = pd.DataFrame(数据列表)
df.to_csv(r"D:\\采集结果.csv", encoding="utf-8-sig", index=False)

这个链路比"先写Excel再导出"直接得多。CSV 不需要考虑 Excel 文件被占用、多 Sheet 等问题。


内容标签:#影刀RPA #CSV处理 #Pandas #数据存储 #文件合并

作者:林焱 在这里插入图片描述

本文为《影刀RPA学习手册》系列文章之一,内容源于实操经验的整理与分享。 在这里插入图片描述

赞(0)
未经允许不得转载:171主机测评 » 影刀RPA新手教程_CSV文件处理完全指南从读取写入到多文件合并
分享到: 更多 (0)

评论 抢沙发

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址