0
我想用ascii.read掃描大量的製表數據文件。列標題似乎沒有自定義分隔符。每個列標題之間的範圍爲2到7個空格。這些文件看起來是這樣的:Python ascii.read選項卡(?)分隔符
K WAVELN NEFF GEOM ALB BOND/QFIT BOND/GEOM Q-FITTED
1 0.3000000 0.0556723 0.0000000 0.0000000 2.1435934 2.0582306
[...]
[...]
我第一次懷疑我可以把他們的標籤,但是這似乎並沒有這樣的情況:
raw = (ascii.read('filename', delimiter='\t')
將讀取該文件,但只返回一個完全無用單列數據。現在
,這不會是在正常情況下一個問題 - 一個簡單的
delimter='\s'
可以做的伎倆。無論如何,我感到沮喪的是,一列被命名爲「GEOM ALB」 - 在中間有一個空間。這敗壞了分隔符,因爲它認爲這是兩個列標題,沒有之一:
raw = (ascii.read('filename',delimiter='\s')
InconsistentTableError: Number of header columns (8) inconsistent with data columns (7) at data line 0
這是在有關文件中與「GEOM_ALB」取代「GEOM ALB」頭solveable,但是我寧願以避免花時間編寫腳本來做到這一點,特別是如果有更簡單和優雅的解決方案。
這聽起來像你應該使用固定寬度的列而不是分隔的列。 – o11c
好主意o11c - 我沒有想到這一點。我給了它一個旋轉,併產生了一個壞結果;讀者未能正確讀取表格。 – Izzy