我有一个包含许多 .tar.gz 文件的文件夹。在 python 中,我想进入每个文件解压缩或压缩并找到具有我想提取的字符串的文本文件?

developer_s

我有很多 gz.tar 压缩文件的主文件夹。所以我需要解压缩两次以获取带有文本的数据文件,然后我在文本中提取某个字符串。我无法解压缩以获取带有文本的文件,然后移至下一个文件并执行相同操作。将结果保存在数据框中。

import os
import tarfile
for i in os.listdir(r'\user\project gz'):
 tar = (i, "r:gz")
 for m in tar.getmembers():
  f= tar.extractfile(member):
  if f is not None:
   content = f.read()
   text = re.findall(r"\name\s", content)
   df = pd.Dataframe(text)
   print(df)
詹姆斯刘

我想你想找出文件,其中包含字符串\name\s\user\project gz\*.tar.gz

一个解决方案是

import os
import re
import tarfile

import pandas as pd

row = []
value = []


for filename in os.listdir(r'\\user\\project gz'):
    if filename.endswith('.tar.gz'):
        tar = tarfile.open(r'\\user\\project gz' + filename)
        for text_file in tar.getmembers():
            f = tar.extractfile(text_file)
            if f is not None:
                content = f.read().decode()
                if re.findall(r"\\name\\s", content):
                    row.append(text_file.name)
                    value.append(content)
        tar.close()


df = pd.DataFrame(value, columns=['nametag'], index=row)
print(df)

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

Related 相关文章

热门标签

归档