如何用Python抓取NIST铜数据网页左侧指定表格并导出CSV
解决NIST铜元素X射线质量系数表格抓取问题
问题需求
抓取NIST铜元素数据页面中左侧标题为“HTML table format”的表格,仅保留目标列(第二、第三列数值),并保存为CSV文件。原代码无法输出正确格式的表格。
原代码问题
原代码未精准定位目标表格,且表头设置不符合页面表格结构,导致抓取的表格列混乱、内容错误。
修正后的代码
import pandas as pd # 铜元素数据页面URL url = "https://physics.nist.gov/PhysRefData/XrayMassCoef/ElemTab/z29.html" # 匹配目标表格,指定表头位于表格第2行(索引从0开始) tables = pd.read_html(url, match="HTML table format", header=1) target_df = tables[0] # 提取第二、第三列(索引1和2) filtered_df = target_df.iloc[:, [1, 2]] # 保存为CSV文件,不保留索引列 filtered_df.to_csv("nist_copper_data.csv", index=False)
代码说明
match="HTML table format":精准定位页面中标题为“HTML table format”的表格,避免抓取页面内其他无关表格header=1:指定表格的表头行是第2行(原表格第一行是标题文本,第二行才是列名)iloc[:, [1, 2]]:通过位置索引提取第二、第三列数据index=False:保存CSV时不写入行索引,保证输出格式简洁规范
内容的提问来源于stack exchange,提问作者Winston Pan
相关产品推荐
相关产品推荐

