如何在python中提取gzip文件并在Dataframe中读取其内容

ctzwtxfj  于 2021-07-15  发布在  Hadoop
关注(0)|答案(1)|浏览(644)

我有很多gzip文件需要解压。文件名如下所示-fgt6hd3917800515[root].2020-07-03-13-20-35.tlog.1593759574.csv
所有这些文件都有一个csv文件。我想在python的Dataframe中读取这些csv文件的内容。csv中的数据如下所示-
ntp 1593759574接受未扫描的印度端口10 1x.1xx.xx. 123 1593779419 181 17印度端口xx 1xx..1xx.1xx 42338 1xx.1xx..xx 123 1xx.1xx.x 42338
这就是我尝试过的-

import gzip
import pandas as pd
import numpy as np
import os

list = os.listdir(r'C:\Users\SAKSHI SHARMA\.spyder-py3\filter data\')
print(list);

a = np.empty((0))

for i in list:
    with gzip.open(r'C:\Users\SAKSHI SHARMA\.spyder-py3\filter data/'+i) as f:  #why do I have to give /
        features_train = pd.read_csv(f)
        a = np.append(a,features_train)
        del features_train
final_data = pd.concat(a, axis=0, ignore_index=True)
print(final_data)

我得到以下错误 TypeError: cannot concatenate object of type '<class 'str'>'; only Series and DataFrame objs are valid 有人建议我合并hadoop,因为我正在处理大约40gb的数据。然而,我在python中有很多东西要学习和研究,而切换到hadoop这样的新软件会让事情变得复杂。有人能帮助我如何读取这些类型的压缩文件和读取Dataframe中的内容。谢谢!

bcs8qyzn

bcs8qyzn1#

检查dask库,如下所示,它将多个文件读入一个df

>>> import dask.dataframe as dd
>>> df = dd.read_csv('data*.csv')

阅读他们的文件https://examples.dask.org/dataframes/01-data-access.html#read-csv文件

相关问题