字典如何按顺序输出

李老师_527093 2023-4-20 291

{
    "2023-02-01" : 76,
    "2023-02-02" : 102,
    "2023-02-03" : 97,
    "2023-02-04" : 94,
    "2023-02-05" : 97,
    "2023-02-06" : 102,
    "2023-02-07" : 91,
    "2023-02-08" : 90,
    "2023-02-09" : 89,
    "2023-02-10" : 119,
    "2023-02-11" : 82,
    "2023-02-12" : 104,
    "2023-02-13" : 86,
    "2023-02-14" : 120,
    "2023-02-15" : 90,
    "2023-02-16" : 108,
    "2023-02-17" : 121,
    "2023-02-18" : 88,

}请按日期从1号至18号顺序,依次将字典的值 写入excel表格的一行

Excel.WriteRow(objExcelWorkBook,"sheet1","A1",value,false)


最新回复 (4)
  • 王玉鹏_665110 2023-4-20
    2
    字典本身就是无序的   办法就是先把key值取出放在数组里排序,再利用数组的有序按 key值取出value值
  • 卓小白 2023-4-20
    3
    利用for key,value 取值,然后存放数组,完成后写入表格
  • 诺亚方舟 2023-4-20
    4
    dim dict={
        "2023-02-01" : 76,
        "2023-02-02" : 102,
        "2023-02-03" : 97,
        "2023-02-04" : 94,
        "2023-02-05" : 97,
        "2023-02-06" : 102,
        "2023-02-07" : 91,
        "2023-02-08" : 90,
        "2023-02-09" : 89,
        "2023-02-10" : 119,
        "2023-02-11" : 82,
        "2023-02-12" : 104,
        "2023-02-13" : 86,
        "2023-02-14" : 120,
        "2023-02-15" : 90,
        "2023-02-16" : 108,
        "2023-02-17" : 121,
        "2023-02-18" : 88
    },objDatatable,arr=[]
    //字典是无序的,按特定顺序写入Excel需要先转化为数组
    For Each key, value In dict
        arr=push(arr,[key,value])
    Next
    //为了方便排序,这里借用数据表的排序功能,先转为数据表
    objDatatable = Datatable.BuildDataTable(arr,Null)
    //对数据表第0列,也就是日期列进行升序排列
    objDatatable = Datatable.SortDataTable(objDatatable,0,true)
    //排序完成后再转换为数组,准备写入Excel
    arr = Datatable.GetDataTableByArray(objDatatable,false)
    //arr是二维数组,属于区域,如果仅写入第二列到一行,则建立第二列的一维数组
    dim arr1=[]
    for i = 0 to UBound(arr)
        arr1=push(arr1,arr[i][1])
    next
    TracePrint(arr1)
    //写入一行数据到指定位置
    //Excel.WriteRow(objExcelWorkBook,"sheet1","A1",arr1,false)
  • 李老师_527093 2023-4-20
    5
    诺亚方舟 dim dict={ "2023-02-01" : 76, "2023-02-02" : 102, "2023-02-0 ...
    感谢你的详细回答,对我很有帮助 谢谢
返回
发新帖