實習日誌 第七周

2021-08-09 07:09:03 字數 2298 閱讀 2857

問題描述

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.索引需要占用磁碟空間,索引檔案可能比...