excel列表对应修改文件名,请问这个怎么操作比较好
excel有两列 假设分别为1 a
2b
3c
按以上的这样两列,
对应的文件名是a.pdf,b.pdf c.pdf,
现在 我想对应修改a.pdf,b.pdf c.pdf,
为1.pdf,2.pdf ,3.pdf 这要怎么操作呢
就是跟excel列里的名字对应的改一下 pandas吗? louxinghao 发表于 2021-9-1 22:13
pandas吗?
可以吗,pands没用过 swanseabrian 发表于 2021-9-1 22:18
可以吗,pands没用过
pandas就很简单,这样就可以
import pandas as pd
# 创建一个表格(也可以读取现有的excel)
df = pd.DataFrame({'A':, 'B':['A', 'B', 'C']})# 手动创建
# df = pd.read_excel('test.xlsx') # 读取现有的excel文件
df['A'] = df['A'].astype(str)+'.pdf'
df['B'] = df['B'] + '.pdf'
# 保存结果,生成一个excel
df.to_excel('test.xlsx', index=False) louxinghao 发表于 2021-9-1 22:45
pandas就很简单,这样就可以
我不是要生成excel ,excel是现成的,两列对应,我是要根据excel的对应关系,就改对应的文件名 swanseabrian 发表于 2021-9-2 08:38
我不是要生成excel ,excel是现成的,两列对应,我是要根据excel的对应关系,就改对应的文件名
一样的啊,生成就是保存结果啊,第8行已经完成了你想要的处理了,你可以print(df)看看嘛 louxinghao 发表于 2021-9-2 08:58
一样的啊,生成就是保存结果啊,第8行已经完成了你想要的处理了,你可以print(df)看看嘛
奥,没看懂,我学习一下,谢谢 louxinghao 发表于 2021-9-2 08:58
一样的啊,生成就是保存结果啊,第8行已经完成了你想要的处理了,你可以print(df)看看嘛
不是的,你这是自己弄成pdf,问题是pdf文件是现在的存在的,里面有内容的,不是这样生成的,就是把a.pdf替换成1.pdf,而不是生成个1.pdf, 没太明白你是啥意思,建议你截个图说明一下你的意思 swanseabrian 发表于 2021-9-2 10:34
不是的,你这是自己弄成pdf,问题是pdf文件是现在的存在的,里面有内容的,不是这样生成的,就是把a.pdf替 ...
就是说我现在要批量改文件名,文件名是第二列的名字,我要批量改成第一列的名字,你给我的代码是生成不是改名啊, louxinghao 发表于 2021-9-2 10:36
没太明白你是啥意思,建议你截个图说明一下你的意思
https://img.alicdn.com/imgextra/i4/432465746/O1CN01WP6j2g1sJiUqd9BNQ_!!432465746.jpg
就像这样,文件是现在的了,我要改名字,对应excel表来改 明白了,你试一下在相同目录创建一个.py文件,复制以下代码进去运行一下看看
import os
import pandas as pd
excelname = '新建 XLS 工作簿.xls' # 这个改成你要读取的excel名
df = pd.read_excel(excelname, header=None) # 读取 excel 数据
df.columns = ['A', 'B'] # 因为你的excel没有列名,所以手动设置一下列名,方便操作
path = os.getcwd() # 获取当前目录路径
# 开始修改名字
for i in range(len(df)):
name1 = os.path.realpath(os.path.join(path, df.B+'.txt')) # 修改前的文件名绝对路径
name2 = os.path.realpath(os.path.join(path, df.A+'.txt')) # 修改后的文件名绝对路径
os.rename(name1, name2) # 修改文件名 louxinghao 发表于 2021-9-2 11:06
明白了,你试一下在相同目录创建一个.py文件,复制以下代码进去运行一下看看
你这是先把文件生成一份出来? louxinghao 发表于 2021-9-2 11:06
明白了,你试一下在相同目录创建一个.py文件,复制以下代码进去运行一下看看
现在第一列的文件不存在,是怎么获得路径的? 还是没大搞懂你要做啥,要不你学习一下读取 excel 的方法和 os 方法吧,我这样写给你也没啥用
读取excel有很多工具
1. pandas 是最多人用的数据处理相关的库,不仅仅能读写excel,支持超多格式,建议学习一下
2. xlrd 这个最轻量化的 excel 表格读取的库,仅限读取,像你今天的这个就可以用 xlrd,因为不涉及 excel 内的数据处理
3. xlwings 这个是最强大的 excel 处理库,有时间也可以了解一下
4. openpyxl、xlsxwriter... 这些也都可以操作 excel 数据
os 是 python 自带的模块,修改文件名用到的 rename 方法就是这里面的,每个人都需要了解的一个模块
学会了以上的的方法,可以满足你这些需求了 os模块可以不用 pathlib模块改名更简单 同为标准库 后者更清晰os这个模块是很乱的
无论是pandas还是openpyxl都是第三方模块 可以把电子表格另存为csv文件后用csv模块处理 这个是标准库 louxinghao 发表于 2021-9-2 11:45
还是没大搞懂你要做啥,要不你学习一下读取 excel 的方法和 os 方法吧,我这样写给你也没啥用
读取excel ...
你的意思是不存在的就是先改了了名字放到内存里,然后再替换存在的内容是吗,我还没演示,今天有点忙 kogawananari 发表于 2021-9-2 12:30
os模块可以不用 pathlib模块改名更简单 同为标准库 后者更清晰os这个模块是很乱的
无论是pandas还是open ...
pathlib还真没用过,一直用os模块 关键网上代码用的都是os这个库 kogawananari 发表于 2021-9-2 12:30
os模块可以不用 pathlib模块改名更简单 同为标准库 后者更清晰os这个模块是很乱的
无论是pandas还是open ...
没必要过分强调标准库,能完成自己的需求就 ok 了 swanseabrian 发表于 2021-9-2 14:56
pathlib还真没用过,一直用os模块 关键网上代码用的都是os这个库
你这个需求shutil模块 shutil.move(path)是最简单的
pathlib主要是不分\\和/ 统一使用 / 而且pathlib.Path对象之间join也可用 /
最关键的是 pathlib.Path对象是完全兼容os shutil 和open函数的代替字符串的路径使用
页:
[1]
2