我在货币上有一个excel网格,x和y轴是相同的。 EG:
GBP, USD, EUR
GBP
USD
EUR
数据进入网格中的每个“对”的单元格:
例如:
GBP, USD, EUR
GBP 9 7
USD 10 11
EUR 12 8
在我的网格中,水平标题从B1
开始,行标题从A2
开始。
进入网格的数据从大型列表中解析出来,数字保存在字典中:
EG:
dict = {'GBPUSD': '9', 'GBPEUR: '7', etc}
我不知何故需要解析空的excel网格,这样我才能将正确的值写入正确的单元格。不会对数据字典进行排序,例如,第一个值可能位于单元格B7
中,第三个值可能位于单元格Z13
中。
我目前有一个x和y单元坐标的硬编码字典,这显然是一种非常糟糕的做法。
有没有办法解析并保存,然后将数据写入正确的单元格?
(我目前正在将其写成CSV,但如果有更好的方法,那么请随意使用它,避免非本地库也会有用)
答案 0 :(得分:0)
Pandas对此非常有用,尽管非原生。
import pandas as pd
dict = {'GBPUSD': '9', 'GBPEUR': '7'}
# first create an empty pandas dataframe with columns and index as specified
currencies = ['GBP', 'USD', 'EUR']
df = pd.DataFrame(index=currencies, columns=currencies)
# now you can parse the values from the dictionary and set them as values in
# the dataframe
for key, value in dict.items(): # iteritems() in python 2.7
idx, col = key[:3], key[3:]
df.set_value(idx, col, int(value))
# and finally write it all to an excelfile
df.to_excel('output.xlsx')