查看非常大的CSV文件的一部分?

时间:2016-07-05 13:10:08

标签: python excel csv

我有一个~1.0gb的CSV文件,当试图将其加载到Excel中以便查看时,Excel崩溃了。我不知道文件的架构,所以我很难将它加载到R或Python中。该文件包含餐厅评论,并附有逗号。

如何在Windows记事本或Excel中打开文件的一部分(例如,前100行或1.0mb的价值)?

2 个答案:

答案 0 :(得分:2)

在我的excel版本中,打开的对话框似乎没有提供“只读这些多行”选项,只是从行开始(用于跳过标题我猜)。

因此,如果您的平台上没有头二进制文件,但python应该是一个简单的工作解决方案(硬编码100行,即行):

#! /usr/bin/env python
from __future__ import print_function

import sys

LINE_COUNT = 100


def main():
    """Do the thing."""
    if len(sys.argv) != 3:
        sys.exit("Usage: InFIle OutHead100File")
    in_name, out_name = sys.argv[1:3]
    print("Simple head(100)[%s] -> %s ..." % (in_name, out_name))
    with open(in_name, 'rt') as f_in, open(out_name, 'wt') as f_out:
        for n in range(LINE_COUNT):
            f_out.write(f_in.readline())

if __name__ == '__main__':
    main()

并且可以调用上面的代码(假设存储在脚本文件so_x_head_100.py中并且给定文件huge.csv应该将前100行复制到文件100.csv):

$ python2 ./so_x_head_100.py huge.csv 100.csv
Simple head(100)[huge.csv] -> 100.csv ...

现在100.csvhuge.csv的前100行。

答案 1 :(得分:1)

如果你想对特定行进行更多选择性钓鱼,那么python csv模块将允许你逐行将csv文件读入Python数据结构。请参阅文档。

如果仅仅抓住前几行就不会显示许多列,这可能很有用,因为它们在所有这些行中都是空白的。因此,您可以轻松地在Python中编写一个程序来读取尽可能多的行,以便在特定列中查找和写出包含非空数据的几行。同样,如果您想分析符合特定条件的数据子集,您可以读取所有行并仅写出有趣的行以供进一步分析。

csv的替代品是熊猫。更大的学习曲线,但它可能是分析大数据的正确工具。 (这些天1Gb不是很大)。

相关问题