【发布时间】:2016-09-22 17:55:39
【问题描述】:
我试图只获取 Python 中包含超过 400 万行的 csv.gz 文件的前 100 行。我还想要关于列数和每个列的标题的信息。我怎样才能做到这一点?
我查看了python: read lines from compressed text files 以了解如何打开文件,但我正在努力弄清楚如何实际打印前 100 行并获取有关列中信息的一些元数据。
我找到了这个Read first N lines of a file in python,但不确定如何将它与打开 csv.gz 文件并在不保存未压缩的 csv 文件的情况下读取它结合起来。
我已经写了这段代码:
import gzip
import csv
import json
import pandas as pd
df = pd.read_csv('google-us-data.csv.gz', compression='gzip', header=0, sep=' ', quotechar='"', error_bad_lines=False)
for i in range (100):
print df.next()
我是 Python 新手,我不明白结果。我确定我的代码是错误的,我一直在尝试调试它,但我不知道要查看哪个文档。
我得到了这些结果(并且它一直在控制台中 - 这是一个摘录):
Skipping line 63: expected 3 fields, saw 7
Skipping line 64: expected 3 fields, saw 7
Skipping line 65: expected 3 fields, saw 7
Skipping line 66: expected 3 fields, saw 7
Skipping line 67: expected 3 fields, saw 7
Skipping line 68: expected 3 fields, saw 7
Skipping line 69: expected 3 fields, saw 7
Skipping line 70: expected 3 fields, saw 7
Skipping line 71: expected 3 fields, saw 7
Skipping line 72: expected 3 fields, saw 7
【问题讨论】:
-
如果您知道how to ask,您将更快地获得帮助。你写了什么代码,它是如何让你失望的?
-
好的,我更新了我的帖子。想法?
-
你能发布原始文件的样例吗? (例如,在终端中尝试
head filename) -
Pandas 使用元数据作为列。您需要忽略包含列名的行之前的行