首页 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
版权声明:若无注明,本文皆为“”原创,转载请保留文章出处。
本文地址:http://jiang.shuang.he.cn/blog/?post=61
版权声明:若无注明,本文皆为“”原创,转载请保留文章出处。
相关文章