最新文章:

首页 code

多个xlsx文件统计信息到一个文件

发布时间:2023年05月05日 评论数:抢沙发 阅读数:34


    2022文件夹,里面有若干目录及子目录,每个目录里有若干文件,只需要看名为《XXX信息表.xlsx》的表格文件,表格格式统一,列名都一样,行有一些差异,查找需要统计的键名单元格,对应的键值就在同列的下一行单元格。把要统计的这些信息生成一个新表。

    最后得到的xlsx每个单元格会有python列表的中括号,没找到办法去掉,只能生成xlsx表格后用excel带的查找替换功能把这些中括号都统一删除。

    #!/bin/bash
    ### main.sh
    
    # 最终表格的第一行,列名
    echo "变压器性质及功率,控制箱名称,控制箱地址码,电度计量表号,电表户号,用电单位" > result.csv
    echo ""> result.xlsx
    
    find ./2022 -type f |grep "基础信息表" > origin_files
    
    cat origin_files|while read oneline
    do
    cp "$oneline" tmp.xlsx
    python write_csv.py
    rm -f tmp.xlsx
    done
    
    python csv_to_xlsx.py
    
    # coding=utf-8
    #!/bin/python
    ### write_csv.py
    
    import pandas as pd
    import numpy as np
    import csv
    xlsx_name='tmp.xlsx'
    
    def find_return(cols, rows, target_name):
        if rows > 50 :
            print("error "+target_name)
            return
        data = str(pd.read_excel(xlsx_name, usecols=cols, skiprows=rows, nrows=1, header=None))
        if data.find(target_name) == -1 :
            return find_return(cols, rows+1, target_name)
        else :
            target_data = pd.read_excel(xlsx_name, usecols=cols, skiprows=rows+1, nrows=1, header=None)
            list_target_data = np.array(target_data).tolist()
            return list_target_data
    
    byq_power = find_return('A', 1, '变压器性质及功率')
    kzx_name = find_return('C', 1, '控制箱名称')
    kzx_addr = find_return('G', 1, '控制箱地址码')
    biaohao = find_return('J', 1, '电度计量表号')
    huhao = find_return('K', 1, '电表户号')
    user_name = find_return('A', 15, '用电单位')
    
    row_data=[kzx_name,byq_power,kzx_addr,biaohao,huhao,user_name]
    print(row_data)
    file = open('result.csv','a')
    writer = csv.writer(file)
    writer.writerow(row_data)
    file.close()
    
    #!/bin/python
    ### csv_to_xlsx.py
    
    import pandas as pd
    xlsx = pd.read_csv('result.csv')
    xlsx.to_excel('result.xlsx',index=False)


二维码加载中...
本文作者:admin      文章标题: 多个xlsx文件统计信息到一个文件
本文地址:http://jiang.shuang.he.cn/blog/?post=61
版权声明:若无注明,本文皆为“”原创,转载请保留文章出处。
挤眼 亲亲 咆哮 开心 想想 可怜 糗大了 委屈 哈哈 小声点 右哼哼 左哼哼 疑问 坏笑 赚钱啦 悲伤 耍酷 勾引 厉害 握手 耶 嘻嘻 害羞 鼓掌 馋嘴 抓狂 抱抱 围观 威武 给力
提交评论

清空信息
关闭评论