python - 在python中循环读取文件时跳过某些文件的行
问题描述
我试图在一个循环中读取 17 个文件,我想为少数文件跳过 1 行,但不为其他文件。
使用下面给出的代码
import os
import pandas as pd
import glob
path=os.getcwd()
files=os.listdie(os.curdir)
files_xls=[f for f in files if f[-3]=='xls']
filenames=glob.glob(path + "/.xls")
for f in files_xls:
data=pd.read_excel(f, (skiprows==1 if data.iloc[0]==range(1, 68,1)])
我知道最后一行的代码是不完整且错误的,但我的第一个目标是能够编写代码来跳过少数不是所有文件的行。
请帮我编写代码以跳过该行。
例如,一些示例数据如下所示
1 2 3
姓名 年龄 性别
一个 23 M
两个 32 F
三个 46 M
有些样本看起来像这样
姓名 年龄 性别
四个 67 M
五 78 F
六个 89 M
和最终输出应该是这样的
姓名 年龄 性别
一个 23 M
两个 32 F
三个 46 M
四个 67 M
五 78 F
六个 89 M
PS我是编程新手。
提前致谢
解决方案
一般来说,您可以执行以下操作:
data=pd.read_excel(f, skiprows==1 if condition else 0)
但是您不能在读取文件之前使用文件中的数据。条件不能是数据的函数(至少您以前没有以其他方式阅读过它)
请注意,在您的循环中,您在每次调用pd.read_excel
. 要将循环中的文件读取到 DataFrame,请参见此处。
推荐阅读
- r - 因素 ggplot2 和颜色的多条趋势线
- c# - CS0122 Form1.AvgWaiting 由于其保护级别和 C# Windows 窗体中的甘特图而无法访问
- javascript - 在 wordpress 页面中编号有问题
- nginx - Ansible:没有与“nginx”匹配的包可用
- mongoose - 如何将 graphql-compose-mongoose 与 next.js apollo 服务器集成
- reactjs - 带有钩子的 React.js 中的 Formik 'initialValues' Typescript 错误
- angular - 这个错误的原因是什么?我该如何解决这个问题?
- php - 如何检查 Laravel Passport 中的访问令牌是否过期?
- scala - 符号 =?= 在 Scala 中是什么意思?
- python - 将 Pandas 数据框放入具有特定格式的字典列表中的最有效方法