我有一个~1.0gb的CSV文件,当试图将其加载到Excel中以便查看时,Excel崩溃了。我不知道文件的架构,所以我很难将它加载到R或Python中。该文件包含餐厅评论,并附有逗号。
如何在Windows记事本或Excel中打开文件的一部分(例如,前100行或1.0mb的价值)?
答案 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.csv
中huge.csv
的前100行。
答案 1 :(得分:1)
如果你想对特定行进行更多选择性钓鱼,那么python csv
模块将允许你逐行将csv文件读入Python数据结构。请参阅文档。
如果仅仅抓住前几行就不会显示许多列,这可能很有用,因为它们在所有这些行中都是空白的。因此,您可以轻松地在Python中编写一个程序来读取尽可能多的行,以便在特定列中查找和写出包含非空数据的几行。同样,如果您想分析符合特定条件的数据子集,您可以读取所有行并仅写出有趣的行以供进一步分析。
csv的替代品是熊猫。更大的学习曲线,但它可能是分析大数据的正确工具。 (这些天1Gb不是很大)。