擅长:python、mysql、java
<p>如果您想要顺序和反转,请使用OrderedDict:</p>
<pre><code>from collections import OrderedDict
for x in dates:
l = OrderedDict()
for y in currs:
try:
m = exrates.get_exrates(x)[y]
except KeyError:
m = '-'
l[y] = m
l['Date'] = x
hist.append(l)
</code></pre>
<p>要颠倒顺序,请使用“反转”:</p>
^{pr2}$
<p>如果你只想把最后一把钥匙放在前面:</p>
<pre><code>k = list(hist[0].keys())
keys = keys[-1] + key[:-1]
print(keys)
</code></pre>
<p>您也可以使用<code>dict.get</code>进行理解:</p>
<pre><code>for x in dates:
l = OrderedDict((y, exrates.get_exrates(x).get(y, "-")) for y in currs)
l['Date'] = x
hist.append(l)
</code></pre>
<p>如果您要提供页眉,并且不希望在按需写入后排序dict,假设curr是一个列表,则可以使用curr作为页眉添加日期:</p>
<pre><code>import csv
with open(file, 'wt') as output_file:
wr = csv.writer(output_file)
wr.writerow(["Date"] + currs)
for x in dates:
row = [x] + [exrates.get_exrates(x).get(y, "-") for y in currs]
wr.writerow(row)
</code></pre>
<p>curr中的元素是作为头的键使用的,因此如果您只想将<code>[exrates.get_exrates(x).get(y, "-") for y in currs]</code>的内容与{<cd3>}一起写入Date下的第一列,就不需要存储dict了。在</p>