请帮我写一段 将一个文件夹所有excel表的某一固定列提取出来存放在一个新的excel表的python代码
时间: 2023-09-05 17:05:05 浏览: 54
### 回答1:
好的,可以使用`pandas`库来完成这个任务。以下是示例代码:
```python
import pandas as pd
import os
# 设置需要读取的文件夹和要提取的列
folder_path = '文件夹路径'
column_name = '固定列名称'
# 初始化一个空的DataFrame
result_df = pd.DataFrame()
# 遍历文件夹中的Excel文件
for filename in os.listdir(folder_path):
if filename.endswith('.xlsx'): # 如果是Excel文件
file_path = os.path.join(folder_path, filename)
# 读取文件中的数据
data_df = pd.read_excel(file_path)
# 提取指定列的数据,添加到结果DataFrame中
result_df[filename] = data_df[column_name]
# 将结果保存到新的Excel文件中
result_df.to_excel('结果文件路径')
```
其中,`folder_path`和`column_name`需要根据实际情况进行修改,`result_df`是用来存放所有Excel表中指定列数据的DataFrame,最后将其保存到新的Excel文件中。
### 回答2:
你好!以下是一个示例的Python代码,可以实现将一个文件夹中所有Excel表的某一固定列提取出来存放在一个新的Excel表中:
```python
import os
import pandas as pd
# 文件夹路径
folder_path = "文件夹路径"
# 新Excel表保存路径和文件名
new_file_path = "新Excel表路径和文件名.xlsx"
# 待提取的列索引(从0开始)
column_index = 2
# 遍历文件夹下的所有文件
all_files = os.listdir(folder_path)
excel_files = [f for f in all_files if f.endswith(".xlsx")] # 只筛选出后缀为.xlsx的文件
# 创建一个DataFrame用于存放提取出的列数据
data = pd.DataFrame()
# 遍历每个Excel文件,提取指定列数据
for file in excel_files:
file_path = os.path.join(folder_path, file)
df = pd.read_excel(file_path)
column_data = df.iloc[:, column_index]
data = pd.concat([data, column_data], ignore_index=True)
# 将提取的列数据写入新的Excel表中
data.to_excel(new_file_path, index=False)
```
请将上述代码中的"文件夹路径"修改为你实际的文件夹路径,"新Excel表路径和文件名.xlsx"修改为你希望保存新Excel表的路径和文件名,"column_index"修改为你需要提取的列的索引(从0开始)。运行代码后,将会在指定路径下生成一个新的Excel表,其中包含了所有Excel表中指定列的数据。
### 回答3:
你好,以下是可以实现你要求的Python代码:
```python
import os
import pandas as pd
def extract_column_from_excel(folder_path, column_name):
# 创建一个空的DataFrame用来存放所有表的数据
all_data = pd.DataFrame()
# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
if filename.endswith('.xlsx') or filename.endswith('.xls'):
# 读取每个Excel表的数据
file_path = os.path.join(folder_path, filename)
df = pd.read_excel(file_path)
# 提取固定列的数据并存入all_data中
if column_name in df.columns:
extracted_column = df[column_name]
all_data = pd.concat([all_data, extracted_column], ignore_index=True)
# 将提取的数据存入新的Excel表
output_file_path = os.path.join(folder_path, 'extracted_data.xlsx')
all_data.to_excel(output_file_path, index=False)
print(f"提取的数据已保存至: {output_file_path}")
# 调用函数并传入文件夹路径和要提取的固定列名
folder_path = '文件夹路径'
column_name = '固定列名'
extract_column_from_excel(folder_path, column_name)
```
你只需要将 `folder_path` 替换为你的文件夹所在路径,`column_name` 替换为你要提取的固定列的列名即可。运行代码后,提取的数据将会保存在一个名为 `extracted_data.xlsx` 的新Excel表中。