读取带双引号和逗号分隔符的csv文件,其中包含双打和字符串(任意数量的行和列)

喀山

我正在读取具有以下格式的csv文件:

Header:,Date,Time,"MC2_Y241_TightnessPressValve","MC2_Y243_PressingValve""
Data,2015-09-16,15:41:52;781,"780.000000","0.0034"
Data,2015-09-16,15:41:52;791,"790.000000","0.1255"
Data,2015-09-16,15:41:52;801,"800.000000","1.5123"

Atm我正在使用fgetl(fid)查找标题以及所有日期和时间。然后,我使用有关哪些行和列包含双精度的知识,以便能够使用csvread()快速读取。但是,要使用csvread(),我必须首先删除引号。我目前正在使用matlab中的Powershell脚本来执行此操作,但是这太耗时,因为我需要读取+ 200Mb的文件。

注意:不能使用带有'%q'的textscan的原因有两个:1)我希望将所有双打立即读取为双打(转换太耗时)。2)文件包含各种数量的行和列。

这是针对独立应用程序的。

我非常感谢所有帮助,我花了无数小时来提高效率。

喀山

我虽然应该发布答案,以防其他人遇到同样的问题。感谢Lee帮了我的忙!

% Remove quotes
fid = fopen('temp.csv','w');
s = fileread('myFile.csv');
s = strrep(s,'"','');
fprintf(fid,s);
fclose(fid);

% Open new, quote free, file
fid = fopen('temp.csv','r');

% Get Headers
Headers{1} = fgetl(fid);
Headers = textscan(Headers{1},'%s','Delimiter',',');
Headers = Headers{1};
Headers = Headers(3:end);

% Get date and time
lineIndex = 1;
nextLine = fgetl(fid);
time{lineIndex} = nextLine(6:28);
lineIndex = lineIndex + 1;
nextLine = fgetl(fid);
while ~isequal(nextLine,-1) && ~isempty(nextLine)
    time{lineIndex} = nextLine(6:28);
    lineIndex = lineIndex + 1;
    nextLine = fgetl(fid);
end

% Get doubles
Data = csvread('temp.csv', 1,3);
fclose(fid);

% Convert time with datenum
Time = datenum(time,'yyyy-mm-dd,HH:MM:SS;FFF');

% Put all data in one matrix
Data = [Time, Data];

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Python:在DataFrame中加载csv文件,但字符串和列表逗号分隔符例外

来自分类Dev

读取和拆分.csv文件,该文件包含带逗号的字符串

来自分类Dev

使用熊猫读取csv文件,其中的列由不同数量的空格和逗号分隔

来自分类Dev

使用熊猫读取csv文件,其中的列由不同数量的空格和逗号分隔

来自分类Dev

带有逗号和双引号的字符串的C ++ CSV行

来自分类Dev

如何使用逗号分隔符写入文件并且字符串中没有双引号?

来自分类Dev

分隔包含逗号和双引号的csv文件的最佳方法是什么?

来自分类Dev

分隔包含逗号和双引号的csv文件的最佳方法是什么?

来自分类Dev

在其中包含单引号和双引号的android中使用sqlite插入字符串

来自分类Dev

如何读取具有列分隔符和记录分隔符的 csv 文件

来自分类Dev

PHP解析逗号分隔的字符串,带双引号

来自分类Dev

保存包含单引号和双引号的字符串?

来自分类Dev

在每个数组中给出双引号和逗号分隔符

来自分类Dev

如何使用php解析CSV,但忽略字符串中的逗号和双引号

来自分类Dev

如何处理csv字符串中的双引号和逗号?

来自分类Dev

如何在所有行和列中第二次出现分隔符后删除分隔符和后续字符串

来自分类Dev

R read.csv,带逗号分隔符和换行符

来自分类Dev

R read.csv,带逗号分隔符和换行符

来自分类Dev

*和/在字符串标记中的Java分隔符

来自分类Dev

使用分隔符拆分和发布字符串

来自分类Dev

Java解析包含整数和多个分隔符的字符串

来自分类Dev

替换文件中包含_和双引号的字符串

来自分类Dev

Oracle-分隔字符串逗号分隔(字符串包含空格和连续逗号)

来自分类Dev

Pandas:使用带有引号和逗号作为分隔符的 to_csv()

来自分类Dev

SQL Server:如何使用2个分隔符将字符串拆分为列和行?

来自分类Dev

Python CSV:列内的逗号、单引号和双引号

来自分类Dev

在Window Batch中-如何解析CSV文件,其中的字段包括逗号和双引号

来自分类Dev

在C#中按行和按定界符读取带分隔符的文本文件

来自分类Dev

当值包含键和值之间的分隔符或对之间的分隔符时,如何从字符串中提取键和值?

Related 相关文章

  1. 1

    Python:在DataFrame中加载csv文件,但字符串和列表逗号分隔符例外

  2. 2

    读取和拆分.csv文件,该文件包含带逗号的字符串

  3. 3

    使用熊猫读取csv文件,其中的列由不同数量的空格和逗号分隔

  4. 4

    使用熊猫读取csv文件,其中的列由不同数量的空格和逗号分隔

  5. 5

    带有逗号和双引号的字符串的C ++ CSV行

  6. 6

    如何使用逗号分隔符写入文件并且字符串中没有双引号?

  7. 7

    分隔包含逗号和双引号的csv文件的最佳方法是什么?

  8. 8

    分隔包含逗号和双引号的csv文件的最佳方法是什么?

  9. 9

    在其中包含单引号和双引号的android中使用sqlite插入字符串

  10. 10

    如何读取具有列分隔符和记录分隔符的 csv 文件

  11. 11

    PHP解析逗号分隔的字符串,带双引号

  12. 12

    保存包含单引号和双引号的字符串?

  13. 13

    在每个数组中给出双引号和逗号分隔符

  14. 14

    如何使用php解析CSV,但忽略字符串中的逗号和双引号

  15. 15

    如何处理csv字符串中的双引号和逗号?

  16. 16

    如何在所有行和列中第二次出现分隔符后删除分隔符和后续字符串

  17. 17

    R read.csv,带逗号分隔符和换行符

  18. 18

    R read.csv,带逗号分隔符和换行符

  19. 19

    *和/在字符串标记中的Java分隔符

  20. 20

    使用分隔符拆分和发布字符串

  21. 21

    Java解析包含整数和多个分隔符的字符串

  22. 22

    替换文件中包含_和双引号的字符串

  23. 23

    Oracle-分隔字符串逗号分隔(字符串包含空格和连续逗号)

  24. 24

    Pandas:使用带有引号和逗号作为分隔符的 to_csv()

  25. 25

    SQL Server:如何使用2个分隔符将字符串拆分为列和行?

  26. 26

    Python CSV:列内的逗号、单引号和双引号

  27. 27

    在Window Batch中-如何解析CSV文件,其中的字段包括逗号和双引号

  28. 28

    在C#中按行和按定界符读取带分隔符的文本文件

  29. 29

    当值包含键和值之间的分隔符或对之间的分隔符时,如何从字符串中提取键和值?

热门标签

归档