精华内容
下载资源
问答
  • 文本文件格式:[str等多行可能没有规律][需要读取数据行,是一个规整的矩阵][无规律的文本或者大小不一的矩阵]例如:pat0 0 0 0 01 1 1 1 12 2 2 2 24 4 4 4 40 0 09 9 9我要读取的是0 0 0 0 01 1 1 1 12 2 2 2 24 ...

    文本文件格式:

    [str等多行可能没有规律]

    [需要读取的数据行,是一个规整的矩阵]

    [无规律的文本或者大小不一的矩阵]

    例如:

    p

    a

    t

    0 0 0 0 0

    1 1 1 1 1

    2 2 2 2 2

    4 4 4 4 4

    0 0 0

    9 9 9

    我要读取的是

    0 0 0 0 0

    1 1 1 1 1

    2 2 2 2 2

    4 4 4 4 4

    Code:

    clear

    fid = fopen('data.txt','r');

    FormatString=repmat('%f ',1,5);

    data = cell2mat(textscan(fid,FormatString,4,'headerlines',3));

    fclose(fid)

    展开全文
  • Python从文件中读取指定的行 如果想根据给出的行号, 从文本文件中读取一行数据, Python标准库linecache模块非常适合这个任务: 测试文件内容 : This is line 1. This is line 2. This is line 3. This is line 4...
  • 项目背景近期接到一个工作任务,在运行设备中,会定期生成数据记录文件(txt 格式),我需要将这个文件中的 1000 个数据导入到 Excel 中,通过公式计算,得到需要的另外两列数据,将这两列数据作为数据源...

    a87391b02397d12a583bbe3f8f8bb5ab.png

    VBA 是一种很久远的编程语言,但并不过时。在满足以下两个条件时,借助 VBA 可以极大的提升生产率,降低出错率:

    • 你的电脑上不允许自主安装软件;
    • 你需要执行的工作中大部分的步骤都是固定且重复的。

    项目背景

    近期接到一个工作任务,在运行设备中,会定期生成数据记录文件(txt 格式),我需要将这个文件中的 1000 个数据导入到 Excel 中,通过公式计算,得到需要的另外两列数据,将这两列数据作为数据源,设置一个组合图表(折线图+折线图),设置好图表的格式,最后将图表转换为图片,保存到指定位置。同时在主表中新建一行记录本次的相关数据。

    拿到手的数据如下如所示:

    4ef4095464ac9393acdc0612193d19ed.png

    最终得到的图片如下图所示:

    641a0b8b25c0aba7dd702e6d6be4da9b.png

    整个过程看起来并不复杂,一套流程操作下来大概也只需要不到 10 分钟的时间。但是当这个工作变成每天 100 次的话,就是一个相当考验人的任务了。那么借助 VBA,可以将这个过程缩减到 10 秒钟,看一下是如何实现的。

    任务分解

    首先对文档数据进行分析,它的数据内容是变化的,但是遵循了固定的格式:

    • 文档包含1004个数据,数据以“,”来进行分割;
    • 第1-1000个数据代表测量数据,也是需要进行进一步处理的数据
    • 第1001个数据代表测量序号,需要手动设置到图标上,同时图片的保存文件名也需要用到;
    • 第1002-1004个数据是相关的状态型号,需要记录存档。

    然后是对数据进行的处理:

    • 新建一列B,取值为对应记录数据的奇偶性,(奇数为100,偶数为0);
    • 再新建一列C,取值为对应记录数据除以4096,是实际的测量值。

    以BC列为数据源,插入一个组合图表:

    • 图表类型选择“组合图表”,
    • 将序列1(B列)设置为“折线图”,设置在“次坐标轴”上;
    • 将序列2(C列)设置为“折现图”,设置在“主坐标轴”上;
    • 为序列2(C列)添加一条趋势线(移动平均、周期20);
    • 修改主标题、主/次坐标轴标题,主/次横轴标题的文字;
    • 修改次坐标轴的坐标刻度(只保留0,100);
    • 设置3条折线的颜色、宽度、透明度等,让数据显示更加明显。

    VBA 实现

    根据分解的任务,就可以编写VBA程序来实现整个过程。

    这个项目中,VBA程序中涉及到的知识点包括:

    1. 数据文件读取
    • “打开文件”对话框的调用
    • 筛选指定格式文件
    • 设置默认打开路径
    • 工作簿、工作表的概念及VBA中对其进行的操作的方法
    • 文件属性的获取
    数据清洗处理
    • EXCEL中表格内容到VBA数组的相互转换
    • VBA中的“For Next”循环结构
    • 数据类型及强制转换数据类型
    • 文本格式化函数Format的使用
    • 词典的创建和使用
    图表绘制及调整
    • 在EXCEL中使用VBA来创建图表,指定位置和大小;
    • 图表元素的添加、删除和修改;
    • 图表属性的设定
    • 图表转换为图片的方法
    展开全文
  • Python从文件中读取指定的行

    万次阅读 2018-07-28 11:51:35
    如果想根据给出的行号, 文本文件中读取一行数据, Python标准库linecache模块非常适合这个任务: 测试文件内容 : This is line 1. This is line 2. This is line 3. This is line 4. This is line 5. This is...

    如果想根据给出的行号, 从文本文件中读取一行数据,  Python标准库linecache模块非常适合这个任务:

    测试文件内容 :

    This is line 1.
    This is line 2.
    This is line 3.
    This is line 4.
    This is line 5.
    This is line 6.
    This is line 7.
    This is line 8.

    测试代码:

    >>> import linecache
    >>> file_path = r'D:\work\python\test.txt'
    >>> line_number = 5
    >>> def get_line_context(file_path, line_number):
    ...     return linecache.getline(file_path, line_number).strip()
    ...
    >>> get_line_context(file_path, line_number)
    'This is line 5.'
    >>>

    对于这个任务来说,标准的linecache模块是Python能够提供的最佳解决方案。

    展开全文
  • 经常遇到,我们想要读取数据,不是从头开始读取的,我们往往要求固定的...%从指定行开始读取数据 readFilePath='C:\Second_teeth\data\di_tance\Diff_distance\10\textfiel\Zm\*.txt'; readPathStr='C:\Second_tee



    经常遇到,我们想要读取的数据,不是从头开始读取的,我们往往要求从固定的行开始读取,MATLAB代码如下:


    function readData()
    %从指定行开始读取数据
    readFilePath='C:\Second_teeth\data\di_tance\Diff_distance\10\textfiel\Zm\*.txt';
    readPathStr='C:\Second_teeth\data\di_tance\Diff_distance\10\textfiel\Zm\';
    %savePathStr='D:\data\tooth\seg_small_txtfile\Zm\';  %d3是没有滤波的 d2是滤过的  70-80\
    savePathStr='C:\Second_teeth\data\di_tance\Diff_distance\qiefen_1\Zm\';
    fileList=dir(readFilePath);
    fileNum=length(fileList);
    for j=1:fileNum
          name=fileList(j).name;      %获得cell数据中的name列 也就是完整的文件名字  Zhao-zhang Syam LWF  Su
        splitName=strsplit(name,'.');  %在.处截取.前面的字符串
        varStr = splitName{1};
        %dirname = [savePathStr,varStr,'\'];
        a = ['mkdir ' savePathStr];  %mkdir是一个判断文件夹的函数。没有创建,有的话就是一个警告不是错误
        system(a); %执行外部命令
        fileName=strcat(readPathStr,name);%这个语句 就是获得了这个文件的完整路径
        
        fid=fopen(fileName,'r');
    if fid<0
        warndlg('打开文件失败!');
        return;
    else
       FormatString=repmat('%f ',1,1);
       out =cell2mat(textscan(fid,FormatString,1202,'HeaderLines',601)); %从601行开始读取1202*1的矩阵数据
       newStr=[savePathStr,int2str(j),'.txt'];
       dlmwrite(newStr,out,'-append');
    end
     msgbox('文件读取成功!');
     if fclose(fid)==0
         msgbox('文件关闭成功!');
     else 
         warndlg('关闭文件失败!');
     end
        
        
    end




    展开全文
  • Python从文件中读取指定的行如果想根据给出的行号, 从文本文件中读取一行数据, Python标准库linecache模块非常适合这个任务:测试文件内容 :This is line 1.This is line 2.This is line 3.This is line 4.This is...
  • Python从文件中读取指定的行如果想根据给出的行号, 从文本文件中读取一行数据, Python标准库linecache模块非常适合这个任务:测试文件内容 :This is line 1.This is line 2.This is line 3.This is line 4.This is...
  • 你想根据给出的行号,文本文件中读取一行数据。 Python标准库linecache模块非常适合这个任务: import linecache theline = linecache.getline(thefilepath, desired_line_number)  讨论 对这个...
  • {"moduleinfo":{"card_count":[{"count_phone":1,"count":1}],"search_count":[{"count_phone":4,"count":4}]},"card":[{"des":"阿里云文件存储NAS是一个可共享访问,弹性扩展,高可靠,高性能的分布式文件系统。...
  • 获取指定路径 var dataArray:[[Substring]] = [] let PathLossTable = "PathLossTable.csv".docConfigDir() print(PathLossTable) ...input:指定文件路径 output:文件中数据内容 func readPa.
  • swift - 从指定路径的文件中读取数据

    千次阅读 2018-04-27 15:30:45
    1. 获取指定路径var dataArray:[[Substring]] = [] let PathLossTable = "PathLossTable.csv".docConfigDir() print(PathLossTable)out:/Users/joshwang/Documents/App/...input:指定文件路径 ...

空空如也

空空如也

1 2 3 4 5 ... 20
收藏数 1,931
精华内容 772
关键字:

从文件中读取指定数据