pandas去除某列中元素的后缀符号
时间: 2023-06-05 10:06:38 浏览: 338
这是一个技术问题,可以回答。可以使用 pandas 的 str.replace() 方法去除某列中元素的后缀符号,例如:
df['column_name'] = df['column_name'].str.replace('suffix_symbol', '')
相关问题
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': # 读取 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'优化下这个代码,是把文件里面所有的xls转换为xlsx
可以将代码进行优化,使用 `glob` 模块来匹配路径下的所有 .xls 文件,然后将其转换为 .xlsx:
```
import glob
import os
import pandas as pd
def replace_excel(path):
# 匹配路径下所有 .xls 文件
for file in glob.glob(os.path.join(path, '*.xls')):
# 读取 xls 文件
data = pd.DataFrame(pd.read_excel(file))
# 替换特殊符号和非法字符
data = data.applymap(lambda x: re.sub(r'[\000-\010]|[\013-\014]|[\016-\037]', '', str(x)))
# 转换文件后缀名为 .xlsx
file_name_be, _ = os.path.splitext(file)
new_file_name = file_name_be + '.xlsx'
# 写入 xlsx 文件
data.to_excel(new_file_name, index=False)
return "转换完成!"
```
这样,只需要传入路径参数,即可将路径下的所有 .xls 文件转换为 .xlsx 文件。
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'优化这个代码,是把指定文件里面所有的xls文件转换到指定一个文件夹里面,形式要xlsx
可以使用os模块的walk函数,递归遍历指定文件夹下的所有xls文件,并将其转换为xlsx格式并保存到指定的输出文件夹中。以下是优化后的代码:
```python
import os
import re
import pandas as pd
def replace_excel(input_path, output_path):
# 遍历指定文件夹下的所有文件和子文件夹
for root, dirs, files in os.walk(input_path):
for f in files:
file_name_be, suff = os.path.splitext(f)
if suff == '.xls':
# 读取 xls 文件
data = pd.DataFrame(pd.read_excel(os.path.join(root, f)))
# 替换特殊符号和非法字符
data = data.applymap(lambda x: re.sub(r'[\000-\010]|[\013-\014]|[\016-\037]', '', str(x)))
# 格式转换并保存
xlsx_file_path = os.path.join(output_path, file_name_be + '.xlsx')
data.to_excel(xlsx_file_path, index=False)
print('已将{}文件转换为xlsx格式并保存至{}'.format(f, xlsx_file_path))
```
在上面的代码中,我们使用了os模块的walk函数来递归遍历指定的文件夹。对于每个xls文件,我们读取它的数据并进行特殊符号和非法字符的替换,然后将其转换为xlsx格式并保存到指定的输出文件夹中。如果转换成功,就会打印出转换后的文件路径。
阅读全文