如何使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
然后,用换行符$\n
replace不可见字符^M
:
sed -i .copy 's/\^M/\'$'\n/g' new_data.csv
那么当你head new_data.csv
,你会看到这些行被恰当地分开。