python - Python Pandas 加入几个文件
问题描述
我将一些 xlsx 文件导入到 pandas 数据框中。它工作正常,但我的问题是它复制了彼此下的所有数据(所以我有 10 个 100 行 = 1000 行的 excel 文件)。
我需要具有 100 行和 10 列的 Dataframe,因此每个文件将彼此相邻复制,而不是在下方复制。
有什么想法吗?
import os
import pandas as pd
os.chdir('C:/Users/folder/')
path = ('C:/Users/folder/')
files = os.listdir(path)
allNames = pd.DataFrame()
for f in files:
info = pd.read_excel(f,'Sheet1')
allNames = allNames.append(info)
writer = pd.ExcelWriter ('Output.xlsx')
allNames.to_excel(writer, 'Copy')
writer.save()
解决方案
您可以将电子表格作为数据框数组直接提供给pd.concat()
:
import os
import pandas as pd
os.chdir('C:/Users/folder/')
path = ('C:/Users/folder/')
files = os.listdir(path)
allNames = pd.concat([pd.read_excel(f,'Sheet1') for f in files], axis=1)
writer = pd.ExcelWriter ('Output.xlsx')
allNames.to_excel(writer, 'Copy')
writer.save()
推荐阅读
- unity3d - Unity在相机移动期间显示瓷砖的边界
- libcurl - 是否可以使用 libcurl 来管理原始 TCP 连接?
- arrays - 无法将“String”类型的值转换为预期的参数类型“String.Element”(又名“Character”)
- php - 模态形式和引导星级的问题
- html - 网站视口在 Bootstrap 4 上的 Safari 浏览器上仍然可以缩放和捏合
- javascript - Vue.js:如何从拦截器代表组件发出请求?
- php - 'user'@'localhost' 的访问被拒绝
- azure - 如何选择 Kubernetes Ingress 控制器
- c++ - Windows 10 忽略 setsockopt IP_TOS
- javascript - 在按钮单击事件上获取当前嵌入的 pdf 页码