如何从多个zip文件夹中的文本文件复制特定行?

时间:2018-08-22 07:05:53

标签: python python-3.x zipfile

我正在尝试通过匹配部分字符串从zip文件夹中的文本文件复制行, zip文件夹位于共享文件夹中 有没有一种方法可以从文本文件复制字符串并将其发送到一个输出文本文件。 如何使用python .. zip_archive有可能吗?

我尝试使用它,但是没有运气。

zf = zipfile.ZipFile('C:/Users/Analytics Vidhya/Desktop/test.zip') 
# having First.csv zipped file.
df = pd.read_csv(zf.open('First.csv'))

3 个答案:

答案 0 :(得分:1)

@strava 答案不同,您实际上不必提取... zipfile为您提供了出色的API处理文件。这是一个读取简单zip文件中的每个文件的简单示例(我只压缩了一个.txt文件):

import zipfile
zip_path = r'C:\Users\avi_na\Desktop\a.zip'
niddle = '2'

zf = zipfile.ZipFile(zip_path) 
for file_name in zf.namelist():
    print(file_name, zf.read(file_name))
    if(niddle in str(zf.read(file_name))):
        print('found substring!!')

输出:

a.txt b'1\r\n2\r\n3\r\n'
found substring!!

使用此示例,您可以轻松地详细说明和读取每个文件,在文本中搜索字符串,然后将其写入输出文件。

有关更多信息,请检查printdir, read, write, open, close的{​​{1}}个成员

如果您只想提取然后使用zipfile.ZipFile,那也可以:

pd.read_csv

答案 1 :(得分:0)

您可以先提取它们,然后将其作为普通的csv文件处理

zf = zipfile.ZipFile( path to zip )
zf.extract('first.csv', path to save directory )
file = open('path\first.csv')

答案 2 :(得分:0)

这是一个脚本,它可以完成您所需要的 -请注意,如果我们只想将字符串与行内容进行匹配,则不需要LanguageServiceClient,它是d如果要在特定字段,数字值等上进行匹配,则有所不同—因此,我不使用pandas ...

pandas