問題描述
inventory_stacks.json與inventory_stack_view.json擁有相同的key(id),
在inventory_stacks.json中提取字段」max_amount」的鍵值對,在inventory_stack_view.json
中根據字段」name」的值匹配csv檔案,替換csv中對應的中文名,最後將這些資訊按照相同key(id)
彙總成乙個配置表(json檔案),運用python指令碼實現。
解決思路
將json、csv檔案通過轉換為字典(dict)提取有效資訊,最後再轉換為json檔案。
python指令碼
# !/usr/bin/python
# -*- coding:utf-8 -*-
import json
import csv
# 轉換csv檔案為字典
def row_csv2dict(csv_file):
dict_club = {}
with
open(csv_file)as f:
reader = csv.reader(f, delimiter=',')
for row in reader:
dict_club[row[0]] = row[1]
return dict_club
data = row_csv2dict('lang_ok.csv')
x = data.keys()
y = data.values()
# print data
# 提取inventory_stacks.json檔案裡的max_amount欄位
json1 = file('inventory_stacks.json')
dic_json1 = json.load(json1)
json2 = file('inventory_stack_view.json')
dic_json2 = json.load(json2)
d_temp1 = {}
d_temp2 = {}
d_te*** =
for key, value
in dic_json1.items():
ifvalue.get('max_amount') is none:
d_temp1[key] = d_te*** # max_amount為none的預設為1
else:
d_temp4 =
d_temp1[key] = d_temp4
# 將inventory_stacks.json檔案提取出來的資訊寫入test.json檔案中
fp = file('test.json', 'w')
fp.write(json.dumps(
,ensure_ascii=false,indent=4))
fp.close()
source1 = file('test.json')
dic_source1 = json.load(source1)
for key2, value2 in dic_json2.items():
for csv_key in x:
if value2.get('name') == csv_key:
d_temp5 =
d_temp2[key2] = d_temp5
for key_source1, value_source1 in dic_source1.items():
if key2 == key_source1:
d_temp2[key2] = dict(d_temp2[key2], **dic_source1[key_source1])
# 將最終的配置表寫入test2.json檔案中
fp2 = file('test2.json', 'w')
fp2.write(json.dumps(
,ensure_ascii=false,indent=4))
fp2.close()
注意點
因為最後要生成的字典裡面存在中文編碼問題,不能直接轉換為json,
在python的lib\site-packages資料夾下新建乙個sitecustomize.py。內容如下:
# encoding=utf8
import sys
reload(sys)
sys.setdefaultencoding('gbk')
這樣pycharm在執行時就會修改預設的編碼格式,以識別裡面的中文編碼,成功生成想要的配置表test2.json。 第七周開發日誌
轉眼就到了第七周,專案還處於幾乎沒開始的狀態,今天開始認真寫開發日誌,督促自己學習。2018.4.15 週日 時間 今天做了什麼 遇到哪些困難 明天的計畫 4 15 週日 學習了c 中的委託 delegate 和多播委託 multicast delegate 學習了unity中的event和unit...
第七周作業
書中習題1 說說下列程式的執行過程和運算結果 include includeusing namespace std double squ double x 函式原形 int main 主函式 書2,不用庫函式,求整數次冪 3.程式設計實現輸入兩個4x5矩陣和5x3矩陣,定義函式並在主函式中呼叫計算它...
第七周總結
3.1 索引特點 很容易想到 mysql 索引可以大大提高檢索速度 優點 1.通過建立唯一索引,保證資料表每行資料的唯一性 2.大大加快資料查詢速度 3.在使用分組和排序進行資料查詢時,可以顯著減少查詢中分組和排序的時間 缺點 1.維護索引需要耗費資料庫資源 2.索引需要占用磁碟空間,索引檔案可能比...