import pandas as pd import os # 创建一个空的DataFrame对象 merged_data = pd.DataFrame() # 设置数据文件所在的文件夹路径 folder_path = 'D:\桌面\全国大学生数学建模\比赛题目\模拟题1\C题\Abnormal' # 遍历文件夹中的所有文件 for filename in os.listdir(folder_path): if filename.endswith('.csv'): # 假设文件是以.csv格式存储的 file_path = os.path.join(folder_path, filename) # 读取文件数据 data = pd.read_csv(file_path, header=None) # 将文件名作为第一列添加到数据中 data.insert(0, '文件名', filename) # 将文件数据添加到合并的DataFrame中 merged_data = pd.concat([merged_data, data], axis=0) # 将合并后的数据保存到Excel文件 merged_data.to_excel('abnor.xlsx', index=False) 多个xlsx文件整合在一起,文件名作为第一列,数据作为每一文件名右边,读取的xlsx表只是一列的数据,变成一行数据在文件名右边
时间: 2024-04-15 10:30:36 浏览: 243
pandas玩转excel码源.zip
您好!根据您的需求,以下是修改后的代码,可以将读取的 xlsx 表中的数据作为每个文件名的右边,以一行数据的形式进行整合:
```python
import pandas as pd
import os
# 创建一个空的DataFrame对象
merged_data = pd.DataFrame()
# 设置数据文件所在的文件夹路径
folder_path = 'your_folder_path'
# 遍历文件夹中的所有文件
for filename in os.listdir(folder_path):
if filename.endswith('.xlsx'): # 假设文件是以.xlsx格式存储的
file_path = os.path.join(folder_path, filename)
# 读取文件数据
data = pd.read_excel(file_path, header=None)
# 将文件名作为第一列添加到数据中
data.insert(0, '文件名', filename)
# 将数据转置为一行数据
data = data.T
# 将文件数据添加到合并的DataFrame中
merged_data = pd.concat([merged_data, data], axis=0)
# 重置合并后的DataFrame的列索引
merged_data.reset_index(drop=True, inplace=True)
# 将合并后的数据保存到Excel文件
merged_data.to_excel('merged_data.xlsx', index=False)
print('数据合并完成!已保存为 merged_data.xlsx')
```
请将代码中的 `'your_folder_path'` 替换为包含多个 xlsx 文件的文件夹路径,然后运行代码即可。合并后的数据将保存为名为 `merged_data.xlsx` 的新 Excel 文件。
希望对您有所帮助!如有任何问题,请随时提问。
阅读全文