gpt4 book ai didi

matlab - 使用 matlab 读取巨大的 .csv 文件 - 文件组织不当

转载 作者:太空宇宙 更新时间:2023-11-03 20:01:38 26 4
gpt4 key购买 nike

我有几个 .csv 文件,我使用 textscan 使用 matlab 读取,因为 csvreadxlsread 做不支持这种大小的文件 200Mb-600Mb。

我用这一行来阅读它:

C = textscan(fileID,'%s%d%s%f%f%d%d%d%d%d%d%d','delimiter',',');

我发现有时数据不是这种格式的问题,然后 textscan 停止读取该行,没有任何错误。

所以我所做的就是这样读

C = textscan(fileID,'%s%d%s%f%f%s%s%s%s%s%s%s%s%s%s%s','delimiter',',');

通过这种方式,我看到 3 百万中有 2 行的格式发生了变化。

我想阅读除错误/不同行之外的所有行。此外,如果可能只读取第一个字符串是 'PAA' 的行。可能吗?

我曾尝试将它直接加载到 matlab,但速度非常慢,有时会卡住。或者对于真正大的,它会宣布内存问题。

有什么建议吗?

最佳答案

对于仍然足够小以适应您的内存的大文件,一次解析所有行通常是最佳选择。

f = fopen('data.txt');             
g = textscan(f,'%s','delimiter','\n');
fclose(f);

在下一步中,您必须使用 strncmp 识别以 PAA 开头的行。

现在过滤了数据,将上面的 textscan 表达式应用于每一行。如果失败,请尝试另一个。

关于matlab - 使用 matlab 读取巨大的 .csv 文件 - 文件组织不当,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34205604/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com