python-3.x - 循环遍历目录下的excel文件路径并将它们传递给Python中的数据操作函数
问题描述
我需要/Users/x/Documents/test/
通过DataCheck
函数 from来查看目录下的 excel 文件data_check.py
,所以我可以对很多 excel 文件进行数据操作data_check.py
,代码结构如下:
import pandas as pd
def DataCheck(filePath):
df = pd.read_excel(filePath)
try:
df = df.dropna(subset=['building', 'floor', 'room'], how = 'all')
...
...
...
df.to_excel(writer, 'Sheet1', index = False)
if __name__ == '__main__':
status = True
while status:
rawPath = input(r"")
filePath = rawPath.strip('\"')
if filePath.strip() == "":
status = False
DataCheck(filePath)
为了循环目录下的所有 excel 文件的路径,我使用:
import os
directory = '/Users/x/Documents/test/'
for filename in os.listdir(directory):
if filename.endswith(".xlsx") or filename.endswith(".xls"):
print(os.path.join(directory, filename))
else:
pass
出去:
/Users/x/Documents/test/test 3.xlsx
/Users/x/Documents/test/test 2.xlsx
/Users/x/Documents/test/test 4.xlsx
/Users/x/Documents/test/test.xlsx
但我不知道如何将上面的代码组合在一起,将 excel 文件的路径传递给DataCheck(filePath)
.
感谢您提前提供的帮助。
解决方案
使用名称而不是打印它们来调用函数:
import os
directory = '/Users/x/Documents/test/'
for filename in os.listdir(directory):
if filename.endswith(".xlsx") or filename.endswith(".xls"):
fullname = os.path.join(directory, filename)
DataCheck(fullname)
推荐阅读
- python - 如何访问 django 中的表单字段?
- reactjs - react-map 出错:“你包装了吗
带有 withGoogleMap() HOC 的组件?” - java - 从属性文件保护数据库凭据的正确方法
- javascript - 在数组中查找项目并推送到其他数组
- python - Scipy最小化忽略约束
- javascript - Alexa 技能错误
- java - 春季战争文件“java.sql.SQLException:找不到适合 jdbc:postgresql:”的驱动程序
- mysql - SELECT sums per subcat FROM subquery AS 列
- java - 使用 GIT 的 IDEA 新的 gradle spring boot 项目。正确的创作顺序是什么?
- sql - 外键冲突的 SQL Server 错误