读取 txt 文件 fscanf 与 fread 与 textscan [重复]

2024-01-31

我有一个从 SQL-2005 生成的 .txt 文件(ANSI 格式)。我努力了textscan and fscanf。整个txt文件只有numeric data.

在线资源表明 fscanf 比 textscan 更快,但我发现并非如此。

  • Textscan 比 fscanf 快得多

我想尝试这个fread以及,但我不知道如何使用 fread 导入数据。你能建议/评论吗?谢谢。

fName     = 'Test.txt'    % From SQL in ANSI format, 5million rows, 5 Cols
Numofrows = 1000000 ; %1million
Numcols   = 5 ;

fid = fopen(fName, 'r');
C   = textscan(fid, '%f %f %f %f %f', Numofrows ) ;
C   = cell2mat(C);

fclose(fid); fid = fopen(fName, 'r');
[C, Count] = fscanf(fid, '%f %f %f %f %f', Numofrows * Numcols ) ;
C = reshape(C, Count./Numofrows , Numofrows ) ; C=C';

理想情况下,您将能够将数据转换为二进制格式,然后使用fread直接读取双精度数。我希望fread在这种情况下要快得多。 (字符串到数字的转换成本很高,并且原始二进制格式会产生更小的文件)。

否则你可以使用读取字符fread然后对传入的数据运行字符串到数字的转换(sscanf 似乎是最好的)。唯一的技巧是您需要让读取批次以换行符结束,否则您的文本到字符串操作可能会产生不可预测的结果。您可以首先读取大量字符,然后备份直到到达换行符,或者读取其他字符直到找到行尾。我发现这比 fscanf 的 textscan 稍快一些......但我们的数字由于其他原因不匹配;我不知道该相信什么。

第二种方法的示例代码包含在之前的答案中(包括与这个问题有很多重叠),以及一些计时结果。https://stackoverflow.com/a/9441839/931379 https://stackoverflow.com/a/9441839/931379.

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

读取 txt 文件 fscanf 与 fread 与 textscan [重复] 的相关文章

  • 如何从文件中获取整个函数

    好的 我现在正在逐行阅读一个文件 我知道文件中的每个函数名称 因为它是在 XML 文档中的其他位置定义的 应该是这样的 function function name 其中 function name 是函数的名称 我从 XML 文档中获取所
  • 按扩展名过滤搜索文件返回太多结果

    我正在开发一个 C 控制台应用程序 它必须管理 Windows 操作系统上的文件 我需要获取具有特定扩展名的文件名 列表 我找到了很多解决方案 最建议的是以下一种 HANDLE hFind WIN32 FIND DATA data hFin
  • 当 MATLAB 变得非常非常忙时,如何中断它?

    我正在运行一个长时间的模拟MATLAB http en wikipedia org wiki MATLAB我意识到我需要停下来重新运行 然而 MATLAB 确实对这种计算很感兴趣 并且它停止了响应 如何在不终止 MATLAB 的情况下中断此
  • 从 InputStream 中删除换行符

    我喜欢从一个文件中删除所有换行符 对于 n 和 r n java io InputStream 在读取文件时 相应的方法如下所示 param target linkplain File return linkplain InputStrea
  • 了解 Matlab 中的 DEL2 函数以便用 C++ 对其进行编码

    为了用 C 编写 DEL2 matlab 函数 我需要了解该算法 我已经成功地为不在边界或边缘上的矩阵元素编写了函数 我已经看过几个有关它的主题 并通过输入 edit del2 或 type del2 来阅读 MATLAB 代码 但我不明白
  • MATLAB:MEX 矩阵除法给出的结果与 m 文件不同

    我使用 MATLAB 的编码器工具创建了矩阵指数函数的 MEX 版本 以在另一组函数中使用 问题是 MEX 版本给出的结果与原始 m 文件不同 经过调试 我认为这是因为MEX文件和m文件没有做相同的矩阵除法 或者 MEX 文件首先就有问题
  • 将文件写入 Web 服务器 - ASP.NET

    我只想将 TextBox 控件的内容写入 Web 服务器目录根目录中的文件 如何指定它 请记住 我正在本地测试这个 它不断地将文件写入我的程序文件 Visual Studio Common IDE目录而不是我的项目目录 这是我假设Web服务
  • 如何只读取文件的第一行

    我已经用谷歌搜索了一段时间 但我找不到只读取文件第一行的函数 我需要读取文本文件的第一行并从中提取日期 Perl 新手 open my file lt filename txt my firstLine lt file gt close f
  • C - 计算文件中的单词、字符和行数。字符数

    我必须用 C 编写一段代码 输出给定文件中的字符数 行数和单词数 任务看起来很简单 但我现在真的不确定出了什么问题 所以 这是代码 include
  • iOS 4.2.1 丢失文件?

    这是我第一次使用最新的 xcode 3 2 5 和新的 iOS 4 2 1 当我在设备上运行应用程序时 我收到以下运行时错误 无法读取 Developer Platforms iPhoneOS platform DeviceSupport
  • 保存用户可以访问的 Flutter Android 应用程序中的文本文件

    我在 Flutter 中开发的 Android 应用程序的用户应该能够将一些数据保存 导出 到文本文件中 用户应该能够使用其他应用程序 包括文件管理器 在其 Android 设备上找到并访问此文件 我想 final directory aw
  • Matlab 中是否有相当于 R 的 dput() 的函数?

    Matlab 中是否有相当于 R 的 dput 的函数 dput 将 R 对象的 ASCII 文本表示形式写入文件或连接 UPDATE 1 添加了递归和对单元格的支持 UPDATE 2 添加了对结构的支持 UPDATE 3 增加了对逻辑 整
  • 为什么 BufferedWriter 不写入文件?

    我有这个代码 String strings Hi You He They Tetrabenzene Caaorine Calorine File file new File G words txt FileWriter fWriter Bu
  • ODE 时间 Matlab 与 R

    如果在 matlab 中使用可变时间步长求解器 例如 ODE45 我会定义输出的时间跨度 即times 0 50 matlab 将返回 0 到 50 之间不同时间步长的结果 然而在 R 中 我似乎必须定义我希望 ODE 返回结果的时间点 即
  • 字符串的外部文件,而不是对它们进行硬编码

    我有开发一些 Android 应用程序的经验 这些应用程序可以轻松地拥有可以存储字符串的 XML 字符串文件 上次我开发桌面 Java 应用程序时 我对字符串进行了硬编码 例如按钮标题 标签等 我后来了解到这是不好的做法 我应该将字符串存储
  • 快速写入:内存映射文件与 BufferedWriter

    有人对此进行过基准测试吗 我希望尽可能快地写入磁盘 最大限度地减少写入调用的延迟 我想知道写入内存映射缓冲区 通过 buffer put 是否比仅在 Java 端缓冲内容并在缓冲区满后刷新到 fileChannel 更快 这样 一旦缓冲区已
  • 如何将条形图的 XtickLabels 向左移动?

    我目前正在尝试创建频率直方图 为此 我必须创建一个条形图 条形图之间没有空格 然而 这集中于XTickLabels在酒吧的中间 由于它是一个直方图 我希望数值位于每个条形之间的线上 以便它可以直观地指示间隔 本质上 我需要将所有刻度标签移至
  • 在java中加密文本文件的最简单方法

    对于我的学校项目 我必须证明我可以在程序中利用文件处理 为此 我做了一个非常简单的登录过程 您可以在其中创建一个帐户 将用户名和密码写入资源文件夹中的文本文件 显然 这根本没有安全性 因为它的设计目的并不是为了展示文件处理的安全性 但是我的
  • 在 3d 空间中的两个平面之间进行插值

    我正在开发一种工具 可以让您在 3D 体积 上圈出 包围事物 我想通过标记 切片 1 和 3 并从该信息 填充 切片 2 来节省时间 两个简单的解决方案是 1 slice2 slice1 AND slice3 gets the overla
  • 如何替换被测模块的文件访问引用

    pyfakefs https code google com p pyfakefs 听起来非常有用 它 最初是作为核心 Python 模块的一个适度的假实现来开发的 以支持中等复杂的文件系统交互 并于 2006 年 9 月在 Google

随机推荐

  • 错误代码:1055 与 sql_mode=only_full_group_by 不兼容

    我在切换到 Lahman SQL 棒球数据库的离线版本时遇到问题 我正在使用嵌入 EDX 课程的终端 此命令在 Web 终端上运行良好 SELECT concat m nameFirst concat m nameLast as Playe
  • 查找严格位于 X 个列表中的 N 个中的元素

    我有 N 个列表 并且想知道哪些元素严格出现在这些列表的 X 个中 我知道如果我有两个列表 那就相当简单了 lst a 1 2 3 lst b 1 2 5 overlap list set a set b 如果我有 5 个列表 并且想知道哪
  • 使用 BouncyCastle 使用密码加密私钥

    我是 BouncyCastle 的新手 我有一个使用以下代码生成的私钥 final CertAndKeyGen keypair new CertAndKeyGen RSA SHA1WithRSA null keypair generate
  • ADO.NET TableAdapter 参数

    我有一个查询 希望通过包含 IN 子句的 ASP NET TableAdapter 运行 该子句通过参数接收其值 我的问题是 如何指定这个参数 我想把条件语句写成这样 AND b group category id in ParamList
  • Inno Setup 在appendChild msxml 中崩溃

    我想在 Inno Setup 中修改 xml 文件 但安装程序崩溃了 我尝试了不同的方法 结果得到了有问题的示例代码 procedure testXml var xmlDocLocal nodeLocal Variant begin try
  • 如何锁定具有相同 id 的对象?

    我有以下代码 public void Update Foo foo lock locker UpdateFirstPart foo First UpdateSecondPart foo Second UpdateThirdPart foo
  • 根据python中的条件添加前导零

    我有一个包含 500 万行的数据框 假设数据框如下所示 gt gt gt df pd DataFrame data Random 86 7639103627 96 32 1469476501 split gt gt gt df Random
  • 正则表达式匹配英国邮政编码的前半部分

    我需要一个正则表达式来匹配英国邮政编码的前半部分 并且可能只能传入一半或完整的邮政编码 这里有一个匹配完整邮政编码的好方法 英国邮政编码正则表达式 综合 https stackoverflow com questions 164979 uk
  • 聚合物后退按钮不适用于哈希路由

    赞 后退按钮有时不适用于我的聚合物项目 当我按下后退按钮时page变量是当前页面的钢 我需要按两次或三次按钮才能使其工作 例如我转到 rules页面来自 home但它不会回到 home一旦我第二次或第三次按后退按钮 它就会返回主页 这是我的
  • 如何以管理员权限从 Windows 服务运行程序

    我创建了一个在 Windows 启动时运行程序的 Windows 服务 但使用此解决方案 该程序无需管理员权限即可运行 但是 如果我通过单击 开始 菜单上的程序快捷方式来运行该程序 它将以管理员权限运行 我使用这段代码来运行该程序 Appl
  • 从 RAILS_ROOT 外部运行 rake 任务

    我的 RAILS ROOT 是 usr local www application 如果我从 RAILS ROOT 中运行 rake db migrate RAILS ENV 生产 它就可以正常工作 但是我似乎找不到从 RAILS ROOT
  • 钛金 Android 屏幕方向

    我用 Titanium 制作了一个 Android 应用程序 设备旋转时屏幕也会旋转 如何在 Android 应用程序中停止窗口 屏幕方向 Use android screenOrientation portrait 在 Android M
  • ionic 2 ion-select - 以编程方式关闭选择框

    我正在从事 ionic2 项目 我使用离子选择元件 我搜索一种在选择任何项目时以编程方式关闭选择框的方法 而不是等待用户按 确定
  • 处理无效的 XML 十六进制字符

    我尝试通过网络发送 XML 文档 但收到以下异常 MY LONG EMAIL STRING was specified for the Body element amp gt System ArgumentException x2 hexa
  • 自定义数据集和数据加载器

    我是 pytorch 的新手 我有一个大数据集 由两个 txt 文件组成 一个用于数据 另一个用于目标数据 在训练文件中 每行是长度为 340 的列表 在目标中 每行是长度为 136 的列表 我想问我如何定义我的数据集 以便我可以使用 Da
  • DialogFragment.dismiss 因 NullPointerException 崩溃

    我正在做一些后台工作并在执行此操作时显示 DialogFragment 一旦我的工作完成并调用相关回调 我就会关闭该对话框 当我这样做时 我遇到了由 Android 源中的 NPE 引起的崩溃 如下所示 void dismissIntern
  • 按顺序调用子项目和其他任务的 Gradle 批处理任务

    我正在为多模块项目编写 gradle 1 4 构建文件 所以有根构建 gradle定义如下 subprojects apply plugin java 它定义了build所有子模块的任务 子模块包含在设置 gradle每个模块都有其具有定义
  • 为什么使用 static_cast(x) 而不是 (T)x?

    我听说static cast函数应该优先于 C 风格或简单函数风格的转换 这是真的 为什么 主要原因是经典的 C 类型转换不区分我们所说的static cast lt gt reinterpret cast lt gt const cast
  • PHP 中没有 cookie 的 CSRF 令牌

    我正在寻找一种将 CSRF 令牌添加到我正在制作的应用程序中的方法 需要注意的是 该应用程序当前不使用 cookie 或会话 我很想找到一种引入 CSRF 令牌的方法 而不必 在我的应用程序中引入状态 使用会话或 cookie SESSIO
  • 读取 txt 文件 fscanf 与 fread 与 textscan [重复]

    这个问题在这里已经有答案了 我有一个从 SQL 2005 生成的 txt 文件 ANSI 格式 我努力了textscan and fscanf 整个txt文件只有numeric data 在线资源表明 fscanf 比 textscan 更