处理Excel

import pandas as pd
from openpyxl import Workbook, load_workbook
from openpyxl.styles import Alignment


col_in = ['stc_ori_inputs', 'stc_input_dtypes', 'dyn_input_ori_formats']
col_out = ['stc_ori_outputs', 'stc_output_dtypes', 'output_ori_formats']
col_dyn = ['dyn_inputs', 'dyn_dtypes', 'dyn_input_ori_formats']
var_in = ['x', 'sum', 'squre_sum', 'scale', 'offset', 'mean', 'variance']
var_out = ['y', 'mean_out', 'variance_out', 'bacth_mean', 'batch_variance']
var_dyn = ['dyn', 'dyn_sum', 'dyn_squre_sum', 'dyn_scale', 'dyn_offset', 'dyn_mean', 'dyn_variance']
suffix = ['_stc_shape', '_dtype', '_format']

train_df = pd.read_csv(r'train_simple.csv')
train_header = train_df.columns.tolist()
res_header = ['Etrainupdate']
res_header.extend([i + j for i in var_in for j in suffix])
res_header.append('is_enable')
res_header.extend([i + j for i in var_out for j in suffix])
res_header.extend([i + j for i in var_dyn for j in suffix])
res_df = pd.DataFrame(columns = res_header)
two_df = pd.concat([train_df, res_df], axis = 1)

def extract_to_result(col_names, var_names):
    sdf = []
    for col in col_names:
        sdf.append(eval(row[col]))# sdf = [shapes, dtypes, formats]
    for i in range(len(sdf)):
        if type(sdf[i]) == str:
            sdf[i] = sdf[i].split(' ')
    # print(sdf)
    for i in range(len(sdf[0])):
        for j in range(len(sdf)):
            value = sdf[j][i % len(sdf[j])]
            if type(value) == tuple:
                value = ','.join(map(str, value)) + ','
            row[var_names[i % len(var_names)] + suffix[j % len(suffix)]] = value

for index, row in two_df.iterrows():
    extract_to_result(col_in, var_in)
    extract_to_result(col_out, var_out)
    extract_to_result(col_dyn, var_dyn)


two_df.drop(labels=train_header, axis=1, inplace=True)
two_df.to_excel('result_simple.xlsx', index=False)

import pandas as pd
import random

dtype = ['float16', 'float32', 'float64']
format = ['NECHW', 'NCWSHC3']
col_in = ['stc_ori_inputs', 'stc_input_dtypes', 'dyn_input_ori_formats']
col_out = ['stc_ori_outputs', 'stc_output_dtypes', 'output_ori_formats']
col_dyn = ['dyn_inputs', 'dyn_dtypes', 'dyn_input_ori_formats']
train_df = pd.DataFrame(columns=('stc_input_dtypes',"stc_ori_inputs", "stc_ori_outputs", "stc_output_dtypes", "output_ori_formats", "dyn_inputs", "dyn_dtypes", "dyn_input_ori_formats"))

def random_sdf():
    number1 = [random.randint(0, 200) for i1 in range(random.randint(2, 5))]
    number2 = random.randint(0, 200)
    shapes = str([random.choice([number1, number2]) for i2 in range(7)]).replace('[', '(').replace(']', ')')
    dtypes = str([random.choice(dtype) for i3 in range(random.randint(1, 7))]).replace('[', '(').replace(']', ')')
    formats = str([random.choice(format)]).replace('[', '(').replace(']', ')')
    return shapes, dtypes, formats

for row in range(10):
    sdf1 = random_sdf()
    sdf2 = random_sdf()
    sdf3 = random_sdf()
    train_df.loc[row] = [sdf1[1], sdf1[0], sdf2[0], sdf2[1], sdf2[2], sdf3[0], sdf3[1], sdf1[2]]

train_df.to_csv('train_simple.csv', index=False)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值