<pre><code>file1_data = []
with open(file1) as data_input: # with automatically closes your files
# skip headers
next(data_input), next(data_input), next(data_input)
for line in data_input:
# unpack
first_col_datum, second_col_datum, third_col_datum = line.split()
file1_data.append([first_col_datum,float(second_col_datum), float(third_col_datum)])
</code></pre>
<p>输出:</p>
^{pr2}$
<p>或使用<a href="https://docs.python.org/2/library/itertools.html#itertools.islice" rel="nofollow">itertools.islice</a>跳过标题:</p>
<pre><code>from itertools import islice
with open(file1) as data_input:
for line in islice(data_input,3,None):
first_col_datum, second_col_datum, third_col_datum = line.split()
file1_data.append([first_col_datum,float(second_col_datum),float(third_col_datum)])
print(file1_data)
[['alligator', 27.2, 83.4], ['bear', 23.9, 90.2], ['cat', 12.56, 0.98], ['dog', 15.97, 0.88884]]
</code></pre>
<p>我不确定我完全理解格式化部分或你想用它做什么,但如果你想格式化使用str.格式公司名称:</p>
^{4}$
<p>如果试图使用If语句忽略以<code>#</code>开头的行,则应使用<code>str.startswith</code>:</p>
<pre><code>if not line.startswith("#")
</code></pre>
<p>不确定您的问题中的哪一处表示要将数据写入文件,但如果您这样做:</p>
<pre><code>from itertools import islice
with open(file1) as data_input, open("output.txt","w") as out:
for line in islice(data_input,3,None):
first_col_datum, second_col_datum, third_col_datum = line.split()
out.write("{} {:6f} {:6f}\n".format(first_col_datum,float(second_col_datum), float(third_col_datum)))
</code></pre>