python - 如何读取 csv 文件直到找到标题?

标签 python pandas

我想要的是跳过前 20 行,因为我需要的数据来自第 21 行及以下。我已经尝试过“skiprows”,但是每个文件的标题之前的行都会发生变化。所以我希望它对任何文件都灵活。我该怎么做?

我的想法首先是增加一个变量来了解需要多少次跳过:

skip = 0
if 'X error' not in pd.read_csv(nF):
    skip += 1

但它显示“错误标记数据。” C 错误:第 13 行应有 1 个字段,但看到了 10'。

CSV:

    <INFO>
{
InspectionResultFileType:1.01-FULL-ENG
InspectMode:2
Unit:0
ReviseBalance:1
JudgeItem:448
TeachingMethod:4
ReviseMode:0
ReviseScalingX:1.000013
ReviseScalingY:0.999969
}
Insp ON/OFF,T code,Design D,X error -,X error +,Y error -,Y error +,D error -,D error +,DD error
1,T1,0.151,-0.06000,0.06000,-0.06000,0.06000,-0.06000,0.06000,0.06000
1,T2,0.151,-0.06000,0.06000,-0.06000,0.06000,-0.06000,0.06000,0.06000
1,T3,0.152,-0.06000,0.06000,-0.06000,0.06000,-0.06000,0.06000,0.06000
1,T4,0.152,-0.06000,0.06000,-0.06000,0.06000,-0.06000,0.06000,0.06000
1,T5,0.251,-0.06000,0.06000,-0.06000,0.06000,-0.06000,0.06000,0.06000
1,T6,0.251,-0.06000,0.06000,-0.06000,0.06000,-0.06000,0.06000,0.06000
1,T7,2.000,-0.06000,0.06000,-0.06000,0.06000,-0.06000,0.06000,0.06000
NO.,T code,H. NO.,Jud,Design X,Design Y,Design D,Measu. X,Measu. Y,Measu. D,X error,Y error,D error,DD,TimeStamp

最佳答案

skiprows = 0
with open(filename, 'r+') as f:
    for line in f:
        if not line.startswith('NO.'):
            skiprows += 1
        else:
            break

print(skiprows)

this question中找到了这个解决方案.

关于python - 如何读取 csv 文件直到找到标题?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/64019910/

相关文章:

python - 多重索引和日期时间

python - Pandas:将记录 reshape 为列

pandas - 如何将多索引 Pandas 数据帧保存到 Parquet ?

python - Opencv 转换为灰度无法正常工作

python - 如何在 2 列上训练 ML 模型来解决分类问题?

python - 每行代表混淆矩阵 python 中的哪个标签

python - 如何使用 python 操作表格数据?

python - 从不同的大文件中打乱数据的有效方法

python - 将 pandas DataFrames : how do I apply scipy. stats.sem 分组给他们?

Python - 使用相同长度的现有列表创建新列表?