我假设您可以从从网站复制的文本开始;即您通过复制/粘贴创建一个类似于以下内容的data.txt 文件:
1000.0 8
925.0 718
909.0 872 39.6 4.6 12 5.88 80 7 321.4 340.8 322.5
900.0 964 37.6 11.6 21 9.62 75 8 320.2 351.3 322.1
883.0 1139 36.6 7.6 17 7.47 65 9 321.0 345.3 322.4
...
...
...
那么下面的作品,主要基于this answer:
import pandas as pd
df = pd.read_table('data.txt', header=None, sep='\n')
df = df[0].str.strip().str.split('\s+', expand=True)
您读取的数据仅由新行分隔,生成一列df。然后使用字符串方法来格式化条目并将它们扩展成一个新的DataFrame。
然后,您可以在 this answer 的帮助下添加列名:
col1 = 'PRES HGHT TEMP DWPT RELH MIXR DRCT SKNT THTA THTE THTV'.split()
col2 = 'hPa m C C % g/kg deg knot K K K '.split()
df.columns = pd.MultiIndex.from_tuples(zip(col1,col2), names = ['Variable','Unit'])
结果(df.head()):
Variable PRES HGHT TEMP DWPT RELH MIXR DRCT SKNT THTA THTE THTV
Unit hPa m C C % g/kg deg knot K K K
0 1000.0 8 None None None None None None None None None
1 925.0 718 None None None None None None None None None
2 909.0 872 39.6 4.6 12 5.88 80 7 321.4 340.8 322.5
3 900.0 964 37.6 11.6 21 9.62 75 8 320.2 351.3 322.1
4 883.0 1139 36.6 7.6 17 7.47 65 9 321.0 345.3 322.4
如果是我,我实际上可能会删除“Units”列名,b/c 我认为多索引列会使切片变得更加复杂。
同样,读取数据和列名都假定您可以将它们复制粘贴到文本文件/Python 中,然后解析。如果您正在阅读许多这样的页面,或者想要进行某种网络抓取,则需要额外的工作。