You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何爬取UIUC翼型数据库数据存入Excel并自动提取有效数值

UIUC翼型dat文件有效数值自动读取方案

放弃固定skiprows的硬编码逻辑,通过逐行内容校验自动筛选有效数据,无需针对单个文件调整跳过行数,可适配库内所有格式不统一的坐标文件:

  • 获取目标文件的原始文本内容,按行拆分遍历
  • 逐行做有效性判断:
    • 清除每行首尾的空白、换行符,空行直接跳过
    • 尝试将当前行按空白分割为2个元素,分别转换为浮点数
    • 转换成功的即为翼型x/y坐标有效数据,转换失败的属于标题、注释、说明类无效行,直接丢弃
  • 将筛选得到的所有有效数值行转为结构化表格,即可写入Excel

可直接复用的实现代码:

import pandas as pd
import requests
from io import StringIO

def load_airfoil_coords(target_url):
    resp = requests.get(target_url)
    resp.raise_for_status()
    valid_data_lines = []
    for raw_line in resp.text.splitlines():
        cleaned_line = raw_line.strip()
        if not cleaned_line:
            continue
        try:
            # 有效数据固定为两列浮点数:x坐标、y坐标
            x, y = map(float, cleaned_line.split())
            valid_data_lines.append(f"{x} {y}")
        except (ValueError, IndexError):
            # 非数值行、列数不符合的行全部跳过
            continue
    # 转为结构化DataFrame
    coord_df = pd.read_csv(
        StringIO("\n".join(valid_data_lines)),
        sep=r"\s+",
        names=["x坐标", "y坐标"]
    )
    return coord_df

# 调用示例:获取数据后直接导出Excel即可
# coord_df = load_airfoil_coords(目标文件地址)
# coord_df.to_excel("翼型坐标数据.xlsx", index=False)

该方案不受文件头部注释行数、空行数量干扰,覆盖UIUC翼型库所有dat文件的格式场景,不需要针对单个文件做适配调整。

内容的提问来源于stack exchange,提问作者John Chae

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.29 22:21:29