如何使用Python遍历指定文件夹中的所有.xlsx和.csv格式的工作簿,提取每个工作簿中A1单元格的值,并将这些值作为对应文件的工作簿名称?
时间: 2024-10-20 21:14:40 浏览: 36
在Python中,你可以使用`os`模块来遍历目录,`pandas`模块来读取Excel和CSV文件,以及处理数据。以下是一个基本步骤的示例:
```python
import os
import pandas as pd
# 定义函数来读取并提取文件名
def extract_value_from_file(file_path):
try:
# 使用pandas读取Excel (.xlsx) 或 CSV (.csv) 文件
if file_path.endswith('.xlsx'):
df = pd.read_excel(file_path)
elif file_path.endswith('.csv'):
df = pd.read_csv(file_path)
# 提取A1单元格的值,假设它是第一个行的第一个列
value = df.iloc[0, 0]
return value
except Exception as e:
print(f"Error reading {file_path}: {e}")
return None
# 遍历指定文件夹及其子文件夹
folder_path = '/path/to/your/folder'
for root, dirs, files in os.walk(folder_path):
for file in files:
# 检查文件是否是.xlsx 或 .csv 格式
if file.endswith(('.xlsx', '.csv')):
full_file_path = os.path.join(root, file)
filename_without_extension = os.path.splitext(file)[0] # 获取文件名(去除扩展名)
extracted_value = extract_value_from_file(full_file_path)
if extracted_value is not None:
# 将提取的值作为新的文件名保存
new_filename = filename_without_extension + '-' + str(extracted_value)
new_full_path = os.path.join(root, new_filename)
os.rename(full_file_path, new_full_path)
#
阅读全文