106.行列互换复杂交叉表

--创建测试数据
create table 表(年 int,项目 varchar(10)
	,平均值 decimal(20,1)
	,最大值 decimal(20,1)
	,最小值 decimal(20,1)
	,超标率 decimal(20,1)
)
insert into 表
select 2001,'项目1',1.5,2.1,1.1,0.1
union all select 2001,'项目2',2.0,5.0,1.5,5.5
union all select 2003,'项目10',2.1,5.2,2.5,5.5
go

--处理
declare @s varchar(8000),@s1 varchar(8000),@s2 varchar(8000),@s3 varchar(8000)

--处理项目
set @s=''
select @s=@s+',['+项目+']=max(case 项目 when '''''+项目+''''' then 值 end)'
from(select distinct 项目,id=cast(right(项目,len(项目)-2) as int) from 表
) a order by id

--处理字段(指标)
select @s1='',@s2='',@s3=''
select @s1=@s1+',@'+id+' varchar(8000)'
	,@s2=@s2+'
set @'+id+'=''select 年,项目,id='+id+
	',内容='''''+name+''''',值='+name+' from 表'''
	,@s3=@s3+'+'' union all ''+@'+id
from(
select name,id=cast(colid as varchar),colid
from syscolumns where object_id('表')=id
	and name not in('年','项目')
) a order by colid

select @s1=substring(@s1,2,8000),@s3=substring(@s3,16,8000)
exec('declare '+@s1+'
'+@s2+'
exec(''select 年,内容'+@s+' from(''+'
+@s3+'+'') a group by 年,id,内容 order by 年,id'')')
go

--删除测试数据
drop table 表

/*--测试结果

年           内容     项目1                    项目2                    项目10                   
----------- ------ ---------------------- ---------------------- ---------------------- 
2001        平均值    1.5                    2.0                    NULL
2001        最大值    2.1                    5.0                    NULL
2001        最小值    1.1                    1.5                    NULL
2001        超标率    .1                     5.5                    NULL
2003        平均值    NULL                   NULL                   2.1
2003        最大值    NULL                   NULL                   5.2
2003        最小值    NULL                   NULL                   2.5
2003        超标率    NULL                   NULL                   5.5

(所影响的行数为 8 行)
--*/
### 回答1: .pth.tar 是一个文件扩展名,通常用于存储 PyTorch 模型的状态字典或是训练过程中的检查点。而 .pth则是一个文件扩展名,用于存储 PyTorch 模型的脚本形式。 将 .pth.tar 和 .pth 文件互换,需要进行相应的处理来转换它们之间的格式。 如果想将 .pth.tar 文件转换为 .pth 文件,可以按照以下步骤进行: 1. 解压缩 .pth.tar 文件。可以使用压缩软件或是命令行工具,将 .pth.tar 文件解压缩到一个指定的目录中。 2. 运行脚本导出模型。通常,在解压缩后的目录中,会有一个 Python 脚本文件,用于导出模型。可以运行这个脚本,将模型保存为 .pth 文件。 如果想将 .pth 文件转换为 .pth.tar 文件,可以按照以下步骤进行: 1. 创建一个新的目录。在某个目录下,创建一个新的文件夹,用于存放转换后的 .pth.tar 文件。 2. 复制 .pth 文件到新目录。将原始的 .pth 文件复制到新的目录中。 3. 打包 .pth 文件为 .pth.tar 文件。使用压缩软件或是命令行工具,将新目录下的 .pth 文件打包为一个 .pth.tar 文件。 通过上述步骤,可以将 .pth.tar 和 .pth 文件互换格式,使其适应不同的需求。需要注意的是,在转换格式过程中,可能需要进行其他操作或是添加一些额外的信息,以确保文件的完整性和正确性。 ### 回答2: .pth.tar和.pth是Python中常见的文件类型,用于存储模型或包的扩展库。两者基本上具有相同的功能,可以在Python中加载模型或包。 .pth是Python的一个文件扩展名,用于存储模块的路径信息。当Python解释器在导入模块时,会在指定的路径中搜索这些.pth文件,并将路径添加到模块搜索路径中。 .pth.tar是对.pth进行压缩和归档的文件格式。它是对.pth文件进行打包,以便更好地管理和传输。 要互换.pth.tar和.pth,需要使用相关的工具进行转换。可以使用tar命令将.pth.tar文件解压缩为.pth文件,然后使用.pth文件。同样,可以使用tar命令将.pth文件打包为.pth.tar文件。 例如,要将.pth.tar文件解压缩为.pth文件,可以使用以下命令: ``` tar -xvf filename.pth.tar ``` 这将解压缩文件并生成.pth文件。 同样,要将.pth文件打包为.pth.tar文件,可以使用以下命令: ``` tar -cvf filename.pth.tar filename.pth ``` 这将打包.pth文件并生成.pth.tar文件。 总之,.pth.tar和.pth文件在使用上没有本质的区别,只是一个被压缩和归档,另一个是单独的文件。根据需要,可以根据具体情况互相转换使用。 ### 回答3: .pth.tar 和 .pth 是 Python 中用于模块导入的文件扩展名。它们可以互相转换使用。 .pth.tar 文件是一个压缩文件,通常用于打包一组相关的 Python 模块。它可以包含多个 .py 文件或目录,并且可以通过解压缩操作获取其中的内容。如果要将 .pth.tar 文件转换为 .pth 文件,可以执行以下步骤: 1. 使用解压缩工具(如 WinRAR 或 7-Zip)打开 .pth.tar 文件。 2. 从压缩文件中提取出所有的 .py 文件或目录。 3. 创建一个名为 XXX.pth 的文件,其中 XXX 是你想要的模块名或者功能名。 4. 在 .pth 文件中,每行写入一个 .py 文件或目录的路径,示要导入的模块或包的位置。 5. 将 .pth 文件放置在 Python 的 site-packages 目录下或者你自己配置的模块搜索路径。 现在,你可以通过 import XXX 来导入相关的模块或包。 与此相反,如果你有一个 .pth 文件,想把它转换为一个 .pth.tar 打包文件,可以执行以下步骤: 1. 创建一个名为 YYY.pth 的文件,其中 YYY 是你想要的打包文件的名字。 2. 在 .pth 文件中,每行写入一个 .py 文件或目录的路径,示要包含在打包文件中的模块或包的位置。 3. 打开命令行界面,进入到包含 .pth 文件的目录。 4. 执行以下命令来创建一个 .pth.tar 文件:tar -cf YYY.pth.tar YYY.pth 5. 现在你会在当前目录下看到一个名为 YYY.pth.tar 的文件,它是一个打包了 .pth 文件中所列模块或包的压缩文件。 无论是 .pth.tar 还是 .pth 文件,它们都是为了方便 Python 的模块导入而存在的,可以根据需要在这两个格式之间进行转换。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值