如何使csv文件适当地分割行?

我有一个巨大的csv文件,大约100M。我尝试做一个head ,它吐出整个csv,不pipe我要求的行数。

head data.csv AND head -1 data.csv给出相同的结果,即整个文件。

我后来注意到文件中根本没有行:

wc -l data.csv
0 data.csv

我在excel中打开csv,看起来应该如此。 而且,我再次保存为csv。

如何获取我的csv文件中的行?

 You can use this utility function from itertools, since file handle is iterable. def head(n, iterable): from itertools import islice "Return first n items of the iterable as a list" return list(islice(iterable, n)) # to get first 20 rows head(20,open('file.csv')) 

这显示了不可见的字符^M

 cat -vets data.csv >> new_data.csv 

然后,用换行符$\nreplace不可见字符^M

 sed -i .copy 's/\^M/\'$'\n/g' new_data.csv 

那么当你head new_data.csv ,你会看到这些行被恰当地分开。