以下代码为我提供了如下所示的输出。我想把各个类别的每个数字都放在字典中。有效的方法是什么?
当前代码:
Period Ending
Total Revenue
31821000
30871000
29904000
Cost of Revenue
16447000
16106000
15685000
Gross Profit
15374000
14765000
14219000
Operating Expenses
Research Development
1770000
1715000
1634000
输出
{
'Total Revenue': [31821000, 30871000, 29904000],
'Cost of Revenue': [16447000, 16106000, 15685000],
'Gross Profit': [15374000, 14765000, 14219000]
}
期望的结果
{{1}}
答案 0 :(得分:0)
这样的事情:
output = {}
current_key = None
for item in data:
if re.match(r'\(\d+', item) is None:
current_key = item.replace('(', '-').replace(')', '')
output[current_key] = []
else:
if current_key:
output[current_key].append(int(item.replace(',', '')))
print output
答案 1 :(得分:0)
与@Eugene Soldatov的答案类似,我试图自动识别数据中断。我正在使用语言环境包,因为您的数据似乎使用逗号分隔单元。您可能必须将第二行调整为您的语言环境。未经测试,因为我没有使用具有该格式的语言环境; - )
import locale
#locale.setlocale(locale.LC_ALL, 'en_US.UTF8')
summary = {}
current_key = None
for line in data:
try
if current_key:
summary[current_key].append(locale.atoi(line.strip()))
except ValueError:
current_key = line.strip()
summary[current_key] = []