请帮我写一段Python代码,实现对储存在名为“aa”的文件夹中的一批图片读取,改名并另存在“bb”文件夹中,并将更改前后的名字生成一个对比excel表格
时间: 2023-03-12 10:30:31 浏览: 100
import os
import xlwt # 读取aa文件夹中所有图片
aaFiles = os.listdir('aa')
# 创建excel表格,并新建sheet
wb = xlwt.Workbook()
sheet = wb.add_sheet('sheet1')
# 将图片原名和更改后名字写入excel表格中
sheet.write(0, 0, '原名')
sheet.write(0, 1, '更改后名')
# 遍历读取所有图片
for i in range(len(aaFiles)):
# 获取图片原名
oldName = aaFiles[i]
# 更改后名字
newName = 'bb' + str(i) + '.jpg'
# 将图片改名并另存
os.rename(os.path.join('aa', oldName), os.path.join('bb', newName))
# 将更改前后的名字写入excel表格中
sheet.write(i+1, 0, oldName)
sheet.write(i+1, 1, newName)
# 保存excel表格
wb.save('filename.xls')
相关问题
def replace_excel(path, f): # 封装xls转换为xlsx ///done """ excel .xls 后缀 改成 .xlsx 后缀 path 文件夹路径 f 文件名字 带后缀 比如 aa.xls """ file_name_be, suff = os.path.splitext(f) # 路径进行分割,分别为文件路径和文件后缀 if suff == '.xls': # print('将对{}文件进行转换...'.format(f)) data = pd.DataFrame(pd.read_excel(path + '\\' + f)) # 读取xls文件 data.to_excel(path + '\\' + file_name_be + '.xlsx', index=False) # 格式转换 return file_name_be + '.xlsx' 改造下代码,写一段去除特殊符号,非法字符的正则表达式
好的,下面是改造后的代码,将在转换文件时去除特殊符号和非法字符:
```python
import os
import re
import pandas as pd
def replace_excel(path, f):
""" 将 Excel .xls 后缀 改成 .xlsx 后缀,并去除特殊符号和非法字符
path: 文件夹路径
f: 文件名字,带后缀,例如 aa.xls
"""
file_name_be, suff = os.path.splitext(f) # 路径进行分割,分别为文件路径和文件后缀
if suff == '.xls':
# 读取 xls 文件
data = pd.DataFrame(pd.read_excel(path + '\\' + f))
# 替换特殊符号和非法字符
data = data.applymap(lambda x: re.sub(r'[\000-\010]|[\013-\014]|[\016-\037]', '', str(x)))
# 格式转换
data.to_excel(path + '\\' + file_name_be + '.xlsx', index=False)
return file_name_be + '.xlsx'
```
在上面的代码中,我们使用 `applymap` 方法对所有的单元格进行遍历,并使用正则表达式将每个单元格中的特殊符号和非法字符进行替换。 `applymap` 方法可以对 DataFrame 中的每个元素应用一个函数,返回一个新的 DataFrame。在这里,我们使用了 lambda 函数来进行替换。
注意,在使用正则表达式替换时,我们将每个单元格的值都转换为字符串类型,以避免出现类型错误。
使用python处理一个.h文件,并分别将文件中叫AA,BB,CC的字符串的名字分别修改为abc,dddsaj,sdasdasad,并将修改后的文件另存为另外一个.h文件
在Python中,我们可以使用`re`模块(正则表达式库)配合文件操作来处理.h文件。这里是一个基本步骤的例子:
1. 首先,打开原始.h文件并读取其内容。
2. 使用正则表达式搜索需要替换的模式,如"AA", "BB", "CC"。
3. 对找到的匹配项进行替换,将它们改为你想要的新名字(这里是"abc", "dddsaj", "sdasdasad")。
4. 写入一个新的.h文件。
以下是相应的Python代码示例:
```python
import re
# 原始.h文件路径
original_file = 'input.h'
# 新的.h文件路径
new_file = 'output.h'
# 替换规则
replace_dict = {
"AA": "abc",
"BB": "dddsaj",
"CC": "sdasdasad"
}
with open(original_file, 'r') as f_in:
with open(new_file, 'w') as f_out:
for line in f_in:
# 使用正则表达式查找并替换
for old, new in replace_dict.items():
line = re.sub(r'\b' + old + r'\b', new, line) # \b 是单词边界,防止误替换
f_out.write(line)
print("替换完成,新文件保存在:", new_file)
阅读全文