python提取文件名并保存
时间: 2023-07-04 11:17:05 浏览: 101
可以使用Python的os模块中的`os.path.basename()`函数来提取文件名,然后使用文件操作函数进行保存。以下是一个示例代码:
```python
import os
# 指定文件路径
file_path = "/path/to/file/sample.txt"
# 提取文件名
file_name = os.path.basename(file_path)
# 保存文件
with open(file_name, "w") as f:
f.write("Hello, World!")
```
在上面的代码中,我们首先指定了要保存的文件路径,然后使用`os.path.basename()`函数提取文件名,并将其赋值给`file_name`变量。接着,我们使用`open()`函数打开文件,并使用`write()`方法写入数据。最后,我们使用`with`语句来自动关闭文件。
相关问题
python利用正则表达式批量提取 文件夹下的ecxel文件名并保存到新的excel
要批量提取文件夹下的Excel文件名,并将其保存到新的Excel文件中,您可以使用Python的`os`、`re`和`pandas`库。以下是一个示例代码:
```python
import os
import re
import pandas as pd
# 文件夹路径
folder_path = "/path/to/folder"
# 正则表达式模式,用于匹配Excel文件名
pattern = r"(.+)\.xlsx"
# 获取文件夹下所有文件
files = os.listdir(folder_path)
# 使用正则表达式匹配文件名并保存
matches = [re.match(pattern, file) for file in files]
file_names = [match.group(1) for match in matches if match]
# 创建DataFrame对象保存提取结果
df = pd.DataFrame(file_names, columns=["Excel File Name"])
# 将DataFrame保存为Excel文件
df.to_excel("output.xlsx", index=False)
```
在上述代码中,我们首先指定了要扫描的文件夹路径`folder_path`,以及用于匹配Excel文件名的正则表达式模式`pattern`。然后,我们使用`os.listdir()`函数获取文件夹下所有文件的文件名,并使用正则表达式模式对文件名进行匹配,并保存匹配结果到`matches`列表中。接下来,我们使用列表推导式从匹配结果中提取出Excel文件名,并保存在`file_names`列表中。最后,我们使用`pandas`库创建一个DataFrame对象,将提取结果存入其中,并指定列名为"Excel File Name"。最后,使用DataFrame的`to_excel()`方法将数据保存到名为"output.xlsx"的Excel文件中。
希望这对您有所帮助!如果您还有其他问题,请随时提问。
Windows系统python将文件名后几个字相同的EXCEL文件提取出来,按行合并成一个新的EXCEL文件并保存
可以使用Python中的pandas和os模块来完成这个任务。具体步骤如下:
1. 导入必要的模块
``` python
import pandas as pd
import os
```
2. 设置要合并的文件夹路径和新文件的保存路径
``` python
folder_path = '文件夹路径'
new_file_path = '新文件保存路径'
```
3. 获取该文件夹下所有文件名
``` python
file_names = os.listdir(folder_path)
```
4. 循环遍历所有文件名,将文件名后几个字相同的文件合并
``` python
df_list = []
for file_name in file_names:
if file_name.endswith('.xlsx') and file_name[-6:-5] == '_': # 判断是否为EXCEL文件和文件名后几个字是否相同的文件
df = pd.read_excel(os.path.join(folder_path, file_name))
df_list.append(df)
df_merged = pd.concat(df_list, axis=0, ignore_index=True) # 将所有数据按行合并成一个DataFrame
```
5. 将合并后的DataFrame保存为新的EXCEL文件
``` python
df_merged.to_excel(new_file_path, index=False)
```
完整代码如下:
``` python
import pandas as pd
import os
folder_path = '文件夹路径'
new_file_path = '新文件保存路径'
file_names = os.listdir(folder_path)
df_list = []
for file_name in file_names:
if file_name.endswith('.xlsx') and file_name[-6:-5] == '_':
df = pd.read_excel(os.path.join(folder_path, file_name))
df_list.append(df)
df_merged = pd.concat(df_list, axis=0, ignore_index=True)
df_merged.to_excel(new_file_path, index=False)
```
阅读全文