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

how to make csv file split the lines appropriately?

我有一个巨大的 csv 文件,大约 100 M。我尝试对其执行 head,它会吐出整个 csv,无论我要求的行数如何。

head data.csvhead -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:

替换不可见字符 ^M
sed -i .copy 's/\^M/\'$'\n/g' new_data.csv

然后当您 head new_data.csv 时,您会看到线条适当地分开了。