我正在查看此处发布的文本文件,因为我无法在任何地方找到更清洁的大气二氧化碳浓度历史表:
我试图弄清楚如何将这个文件读入熊猫,而不必先进行笨拙的文本编辑器操作。有办法吗?
我在编辑器中执行此操作的方法是首先删除文本文件中的所有单词,然后使用read_table但我必须提供一些指令,它按顺序解释数据一年,ppm,年,ppm等我不知道如何做到这一点,也无法帮助,但想知道是否有一种聪明的方式来阅读原始文件与python自动识别冒犯单词作为单词而无视它们?
答案 0 :(得分:1)
如果你使用pandas.read_fwf
,这是相当直接的:
<强>代码:强>
df = pd.read_fwf(
'https://data.giss.nasa.gov/modelforce/ghgases/Fig1A.ext.txt',
header=None, skiprows=5, nrows=50,
colspecs=[( 8, 12), (14, 20), (28, 32), (34, 40),
(48, 52), (54, 60), (68, 72), (74, 80)])
years = np.concatenate([df[i].values for i in range(0, 8, 2)])
temps = np.concatenate([df[i].values for i in range(1, 8, 2)])
df = pd.DataFrame(temps, index=years, columns=['temps']).dropna()
print(df)
<强>结果:强>
temps
1850.0 285.20
1851.0 285.10
1852.0 285.00
1853.0 285.00
1854.0 284.90
... ...
2007.0 383.37
2008.0 385.46
2009.0 386.95
2010.0 389.21
2011.0 391.15
[162 rows x 1 columns]