3DMGAME 3DM首页 新闻中心 前瞻 | 评测 游戏库 热门 | 最新 攻略中心 攻略 | 秘籍 下载中心 游戏 | 汉化 购买正版 论坛

注册 登录

QQ登录

只需一步,快速开始

楼主: ivan0727
打印 上一主题 下一主题

[补丁] 群星3.14版本的补丁加dlc文件资源分享,亲测可用(度盘)(麻烦版主设一下回复可见)

  [复制链接]

0

主题

5

帖子

8

积分

新手玩家

Rank: 1

贡献度
0
金元
75
积分
8
精华
0
注册时间
2020-12-18
1141#
发表于 2024-11-9 19:55 | 只看该作者
ukbnhlhbjklhgfhvjhg
回复 支持 反对

使用道具 举报

0

主题

4

帖子

6

积分

新手玩家

Rank: 1

贡献度
0
金元
55
积分
6
精华
0
注册时间
2022-3-22
1142#
发表于 2024-11-9 20:20 | 只看该作者
感谢分享 好人一生平安
回复 支持 反对

使用道具 举报

1

主题

582

帖子

717

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
7167
积分
717
精华
0
注册时间
2015-12-7
1143#
发表于 2024-11-9 20:24 | 只看该作者
666666666666666666
回复 支持 反对

使用道具 举报

1

主题

582

帖子

717

积分

超级玩家

Rank: 5Rank: 5

贡献度
0
金元
7167
积分
717
精华
0
注册时间
2015-12-7
1144#
发表于 2024-11-9 20:26 | 只看该作者
66666666666666
回复 支持 反对

使用道具 举报

1

主题

198

帖子

272

积分

高级玩家

Rank: 4

贡献度
0
金元
2715
积分
272
精华
0
注册时间
2011-2-14
1145#
发表于 2024-11-9 20:31 | 只看该作者
v#!usrbinenv python# -- codingutf-8 --

import os
import pandas as pd
import matplotlib.pyplot as plt
from scipy.signal import welch
from matplotlib import rcParams
import matplotlib
import numpy as np
from docx import Document
from docx.shared import Cm,Pt
import math
from docx.enum.text import WD_ALIGN_PARAGRAPH
matplotlib.use('TkAgg')
import matplotlib
matplotlib.use('TkAgg')

def process_txt_files(directory)
    for filename in os.listdir(directory)
        if filename.endswith(dat.txt)
            plotname_1 = os.path.splitext(os.path.basename(filename))[0]
            plotname = os.path.splitext(os.path.basename(plotname_1))[0]
            plotname_plot = plotname+.plot
            plotname_plot_path = os.path.join(directory, plotname_plot)
            if os.path.exists(plotname_plot_path)
                print(f跳过{plotname_plot_path}文件已存在)
                continue
            filepath = os.path.join(directory,filename)
            process_file(filepath)
def process_file(file_path)
    # 构造完整的输入文件路径和输出文件路径
    # 尝试读取文件
    try
        df = pd.read_csv(file_path, sep='s+', header=0, encoding='GBK', low_memory=False)
    except UnicodeDecodeError
        # 如果GBK编码失败,则尝试使用UTF-8编码读取
        try
            df = pd.read_csv(file_path, sep='s+', header=0, encoding='UTF-8', low_memory=False)
        except UnicodeDecodeError
            # 如果UTF-8也失败,则打印错误消息并返回
            print(fError reading file {file_path} Unable to decode with GBK or UTF-8.)
            return
        # 剔除第4列值不是“0x210a”的行
    df = df[df.iloc[, 3] == '0x210a']
    # 仅保留第3789101112列的数据
    df_filtered = df.iloc[, [2, 6, 7, 8, 9, 10, 11]]
    # 保存剩余数据到新的文本文件中
    # 构建新的文件名
    new_filename_1 = os.path.splitext(os.path.basename(file_path))[0]
    new_filename_2 = os.path.splitext(os.path.basename(new_filename_1))[0]
    new_filename=new_filename_2+.plot.txt
    new_filepath = os.path.join(os.path.dirname(file_path), new_filename)
    try
        df_filtered.to_csv(new_filepath, sep='t', index=False, header=False)
        print(f处理完成,结果已保存到 {new_filepath})
    except Exception as e
        print(f保存文件 {new_filepath} 时发生错误:{e})


def process_doc_files(directory)
    for filename in os.listdir(directory)
        if filename.endswith(.plot.txt)
            filepath = os.path.join(directory, filename)
            plotname_1 =  os.path.splitext(os.path.basename(filename))[0]
            plotname = os.path.splitext(os.path.basename(plotname_1))[0]
            plotname_doc=plotname+.docx
            plotname_doc_path=os.path.join(directory,plotname_doc)
            if os.path.exists(plotname_doc_path)
                print(f跳过{plotname_doc_path}文件已存在)
                continue
            plot_and_save_to_docx(filepath,directory,plotname)
def plot_and_save_to_docx(file_path,directory,plotname)
    # 读取数据
    df = pd.read_csv(file_path, sep='t', header=None)
    rcParams['font.sans-serif'] = ['Microsoft YaHei']
    rcParams['axes.unicode_minus'] = False
    # 提取列数据
    x = df.iloc[, 0]
    y1 = df.iloc[, 14]
    y2 = df.iloc[, 47]
    #定义颜色列表,为每个方向分配一种颜色
    colors = ['red', 'green', 'blue']
    directions = ['X', 'Y', 'Z']

    # 绘制1加速度时域图
    fig1, ax1 = plt.subplots(figsize=(10, 6))
    for i, col in enumerate(y1.columns)
        ax1.plot(x, y1[col], label=f'{directions}方向加速度', color=colors, alpha=0.6)
    ax1.legend()
    ax1.set_title('三方向加速度时域图 (X, Y, Z)'+f-{plotname})
    ax1.set_xlabel('时间 (s)')
    ax1.set_ylabel('加速度 (g)')
    ax1.grid(True,color=gray,linestyle=--,linewidth=0.5)
    plt.tight_layout()
    plt.savefig('temp_acc.png')
    plt.close(fig1)

    # 绘制2角速度时域图
    fig2, ax2 = plt.subplots(figsize=(10, 6))
    for i, col in enumerate(y2.columns)
        ax2.plot(x, y2[col], label=f'{directions}方向角速度', color=colors, alpha=0.6)
    ax2.legend()
    ax2.set_title('三方向角速度时域图 (X, Y, Z)'+f-{plotname})
    ax2.set_xlabel('时间 (s)')
    ax2.set_ylabel('角速度 (rads)')
    ax2.grid(True,color=gray,linestyle=--,linewidth=0.5)
    plt.tight_layout()
    plt.savefig('temp_vel.png')
    plt.close(fig2)

    # 计算3并绘制加速度功率谱密度图及RMS
    fs = 1000  # 采样频率
    fig3, ax3 = plt.subplots(figsize=(10, 6))
    rms1 = []
    for i, col in enumerate(y1.columns)
        f, Pxx = welch(y1[col], fs, nperseg=len(y1[col]))
        ax3.plot(f, Pxx, label=f'{directions}方向加速度', color=colors, alpha=0.6)
        rms1.append(math.sqrt(np.mean(y1[col]  2)))
    ax3.set_yscale('log')
    ax3.legend()
    # 展示每个方向的RMS
    for i, rms_val in enumerate(rms1)
        ax3.text(0.05, 0.9 - 0.05  i, f'{directions}方向 RMS {rms_val.2f}', transform=ax3.transAxes)
    ax3.set_title('三方向加速度功率谱密度曲线 (X, Y, Z)'+f-{plotname})
    ax3.set_xlabel('频率 (Hz)')
    ax3.set_ylabel('功率谱密度 (g^2Hz)')
    ax3.grid(True,color=gray,linestyle=--,linewidth=0.5)
    plt.tight_layout()
    plt.savefig('temp_acc_psd.png')
    plt.close(fig3)

    # 计算4并绘制角速度功率谱密度图及RMS
    fig4, ax4 = plt.subplots(figsize=(10, 6))
    rms2 = []
    for i, col in enumerate(y2.columns)
        f, Pxx = welch(y2[col], fs, nperseg=len(y2[col]))
        ax4.plot(f, Pxx, label=f'{directions}方向角速度', color=colors, alpha=0.6)
        rms2.append(math.sqrt(np.mean(y2[col]  2)))
    ax4.set_yscale('log')
    ax4.legend()
    # 展示每个方向的RMS
    for i, rms_val in enumerate(rms2)
        ax4.text(0.05, 0.9 - 0.05  i, f'{directions}方向 RMS {rms_val.2f}', transform=ax4.transAxes)
    ax4.set_title('三方向角速度功率谱密度曲线 (X, Y, Z)'+f-{plotname})
    ax4.set_xlabel('频率 (Hz)')
    ax4.set_ylabel('功率谱密度 ((rads)^2Hz)')
    ax4.grid(True,color=gray,linestyle=--,linewidth=0.5)
    plt.tight_layout()
    plt.savefig('temp_vel_psd.png')
    plt.close(fig4)
    #RMSDOC
    RMS_filename = directory+rRMS.docx
    if os.path.exists(RMS_filename)
        doc=Document(RMS_filename)
        table=doc.tables[-1]
    else
        doc=Document()
        table = doc.add_table(rows=1, cols=7)
        table.alignment=WD_ALIGN_PARAGRAPH.CENTER
        hdr_cells = table.rows[0].cells
        hdr_cells[0].text = 测试条件
        hdr_cells[1].text = X向加速度RMS
        hdr_cells[2].text = Y向加速度RMS
        hdr_cells[3].text = Z向加速度RMS
        hdr_cells[4].text = X向角速度RMS
        hdr_cells[5].text = Y向角速度RMS
        hdr_cells[6].text = Z向角速度RMS
    # 添加数据
    row_cells = table.add_row().cells
    row_cells[0].text = plotname
    for i in range(3)
        row_cells[i + 1].text = f{rms1.3f}
        row_cells[i + 4].text = f{rms2.3f}
    doc.save(RMS_filename)
    # 创建Word文档
    filename_without_path = os.path.splitext(os.path.basename(file_path))[0] + '.docx'
    docx_filename = os.path.join(directory, filename_without_path)
    if not os.path.exists(docx_filename)
        doc = Document()
        # 添加一个标题,并设置其居中
        heading = doc.add_heading('数据分析报告'+f-{plotname}, level=1)
        heading.alignment = WD_ALIGN_PARAGRAPH.CENTER
        heading.runs[0].font.size = Pt(14)
        # 添加时域图
        doc.add_heading('三方向加速度(时域)', level=2)
        doc.add_picture('temp_acc.png', width=Cm(7))

        doc.add_heading('三方向角速度(时域)', level=2)
        doc.add_picture('temp_vel.png', width=Cm(7))

        # 添加PSD
        doc.add_heading('三方向加速度功率谱密度曲线', level=2)
        doc.add_picture('temp_acc_psd.png', width=Cm(7))

        doc.add_heading('三方向角速度功率谱密度曲线', level=2)
        doc.add_picture('temp_vel_psd.png', width=Cm(7))

        # 保存文档
        doc.save(docx_filename)
        print(f'报告已保存到 {docx_filename}')

    # 删除临时图片
    for temp_file in ['temp_acc.png', 'temp_vel.png', 'temp_acc_psd.png', 'temp_vel_psd.png']
        if os.path.exists(temp_file)
            os.remove(temp_file)

    # 调用函数处理目录中的文件

process_txt_files(r'Gwork2Z2hziazhenyan20242024-zhai-shiyan20241101save')
process_doc_files(r'Gwork2Z2hziazhenyan20242024-zhai-shiyan20241101save')
回复 支持 反对

使用道具 举报

0

主题

175

帖子

230

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
2298
积分
230
精华
0
注册时间
2018-5-28
1146#
发表于 2024-11-9 20:33 | 只看该作者
66666666666666666666666666666666666
回复 支持 反对

使用道具 举报

0

主题

65

帖子

139

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1390
积分
139
精华
0
注册时间
2015-5-30
1147#
发表于 2024-11-9 20:39 | 只看该作者
66666666666
回复 支持 反对

使用道具 举报

0

主题

37

帖子

60

积分

初级玩家

Rank: 2

贡献度
0
金元
600
积分
60
精华
0
注册时间
2023-3-14
1148#
发表于 2024-11-9 20:43 | 只看该作者
12333333333333333333
回复 支持 反对

使用道具 举报

0

主题

7

帖子

12

积分

新手玩家

Rank: 1

贡献度
0
金元
115
积分
12
精华
0
注册时间
2023-5-7
1149#
发表于 2024-11-9 20:45 | 只看该作者
谢谢大哥!
回复 支持 反对

使用道具 举报

0

主题

14

帖子

18

积分

新手玩家

Rank: 1

贡献度
0
金元
180
积分
18
精华
0
注册时间
2021-8-28
1150#
发表于 2024-11-9 20:46 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

0

主题

10

帖子

13

积分

新手玩家

Rank: 1

贡献度
0
金元
125
积分
13
精华
0
注册时间
2024-11-4
1151#
发表于 2024-11-9 20:58 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

0

主题

54

帖子

127

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1271
积分
127
精华
0
注册时间
2014-12-12
1152#
发表于 2024-11-9 20:59 | 只看该作者
6666666666666666666
回复 支持 反对

使用道具 举报

0

主题

48

帖子

66

积分

初级玩家

Rank: 2

贡献度
0
金元
660
积分
66
精华
0
注册时间
2018-4-18
1153#
发表于 2024-11-9 21:01 | 只看该作者
6666666666666
回复 支持 反对

使用道具 举报

0

主题

34

帖子

42

积分

初级玩家

Rank: 2

贡献度
0
金元
415
积分
42
精华
0
注册时间
2018-6-21
1154#
发表于 2024-11-9 21:07 | 只看该作者
66666666666666666666666666666
回复 支持 反对

使用道具 举报

0

主题

238

帖子

317

积分

高级玩家

Rank: 4

贡献度
0
金元
3169
积分
317
精华
0
注册时间
2019-12-31
1155#
发表于 2024-11-9 21:21 | 只看该作者
6666666666666666666666666666
回复 支持 反对

使用道具 举报

0

主题

146

帖子

164

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1639
积分
164
精华
0
注册时间
2017-4-14
1156#
发表于 2024-11-9 21:29 | 只看该作者
感谢分享

回复 支持 反对

使用道具 举报

2

主题

166

帖子

255

积分

高级玩家

Rank: 4

贡献度
3
金元
2428
积分
255
精华
0
注册时间
2019-1-10
1157#
发表于 2024-11-9 21:35 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

0

主题

10

帖子

72

积分

初级玩家

Rank: 2

贡献度
0
金元
720
积分
72
精华
0
注册时间
2015-10-31
1158#
发表于 2024-11-9 21:43 来自手机 | 只看该作者
楼主好人1024
回复 支持 反对

使用道具 举报

0

主题

210

帖子

275

积分

高级玩家

Rank: 4

贡献度
0
金元
2753
积分
275
精华
0
注册时间
2015-6-16
1159#
发表于 2024-11-9 21:46 | 只看该作者
66666666666666666666666666
回复 支持 反对

使用道具 举报

0

主题

32

帖子

62

积分

初级玩家

Rank: 2

贡献度
0
金元
620
积分
62
精华
0
注册时间
2023-8-29
1160#
发表于 2024-11-9 22:00 | 只看该作者
666666666666666666666
回复 支持 反对

使用道具 举报

1

主题

122

帖子

246

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
2464
积分
246
精华
0
注册时间
2018-7-15
1161#
发表于 2024-11-9 22:01 | 只看该作者
66666666666666666
回复 支持 反对

使用道具 举报

0

主题

48

帖子

124

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1235
积分
124
精华
0
注册时间
2015-1-2
1162#
发表于 2024-11-9 22:07 | 只看该作者
感谢分享
回复 支持 反对

使用道具 举报

0

主题

159

帖子

231

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
2310
积分
231
精华
0
注册时间
2021-2-6
1163#
发表于 2024-11-9 22:09 | 只看该作者
11111111111111111111111111111
回复 支持 反对

使用道具 举报

0

主题

39

帖子

59

积分

初级玩家

Rank: 2

贡献度
0
金元
592
积分
59
精华
0
注册时间
2020-1-20
1164#
发表于 2024-11-9 22:11 | 只看该作者
666666666666666666666666666666666

回复 支持 反对

使用道具 举报

0

主题

65

帖子

73

积分

初级玩家

Rank: 2

贡献度
0
金元
725
积分
73
精华
0
注册时间
2020-8-21
1165#
发表于 2024-11-9 22:16 | 只看该作者
6666666666666666666
回复 支持 反对

使用道具 举报

0

主题

28

帖子

37

积分

初级玩家

Rank: 2

贡献度
0
金元
370
积分
37
精华
0
注册时间
2020-7-30
1166#
发表于 2024-11-9 22:21 | 只看该作者
感谢感谢感谢
回复 支持 反对

使用道具 举报

0

主题

84

帖子

141

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1414
积分
141
精华
0
注册时间
2014-2-25
1167#
发表于 2024-11-9 22:29 | 只看该作者
啊手动阀手动阀手动阀手动阀手动阀
回复 支持 反对

使用道具 举报

9

主题

489

帖子

515

积分

高级玩家

Rank: 4

贡献度
5
金元
4946
积分
515
精华
0
注册时间
2011-10-10
1168#
发表于 2024-11-9 22:35 | 只看该作者
谢谢分享
回复 支持 反对

使用道具 举报

0

主题

5

帖子

68

积分

初级玩家

Rank: 2

贡献度
0
金元
680
积分
68
精华
0
注册时间
2016-8-22
1169#
发表于 2024-11-9 22:37 | 只看该作者
1111111111111111
回复 支持 反对

使用道具 举报

0

主题

68

帖子

164

积分

中级玩家

Rank: 3Rank: 3

贡献度
0
金元
1639
积分
164
精华
0
注册时间
2014-8-19
1170#
发表于 2024-11-9 22:37 | 只看该作者
感谢分享6666666666
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|3DMGAME ( 京ICP备14006952号-1  沪公网安备 31011202006753号

GMT+8, 2026-3-29 07:47 , Processed in 0.040115 second(s), 16 queries , Memcached On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表