归档目录中的所有 csv 文件

Posted

技术标签:

【中文标题】归档目录中的所有 csv 文件【英文标题】:Archive all csv files in directory 【发布时间】:2015-04-15 22:45:27 【问题描述】:

我有一个 python 脚本,它在运行时(每周)会创建一些大型 csv 文件。我想将这些文件存档在一个名为“存档”的子目录中,并带有一个日期戳以供将来参考。

我使用 zipfile 找到的解决方案不起作用。我希望有人能指出我正确的方向。这是我目前所拥有的:

import glob
import zipfile
from datetime import datetime

file_list = [file for file in glob.glob('*.csv')]

output_file = 'Report_' + datetime.now().strftime('%Y%m%d') + '.zip'

with zipfile.ZipFile('archive\\'+output_file, 'w') as zf:
    for n, file in enumerate(file_list):
        zf.writestr(".csv".format(i), file.read())
zf.close()

我收到以下错误,我意识到这是因为我试图将文件名读取为文件内容。

    zf.writestr(".csv".format(i), file.read())

AttributeError: 'str' object has no attribute 'read'

如何将我的 csv 文件的内容传递给 zf.writestr?

【问题讨论】:

【参考方案1】:

您收到该错误是因为file in:

for n, file in enumerate(file_list):

str。您可能打算打开文件:

for n, file in enumerate(file_list):
    with open(file,'r') as f:
        zf.writestr(".csv".format(i), f.read())

【讨论】:

谢谢!我想我需要打开文件来阅读它们,但不知道怎么做。

以上是关于归档目录中的所有 csv 文件的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 查找目录中的所有 CSV 文件

捕获主目录中所有子文件夹中的所有 csv 文件 - Python 3.x

7-30 目录树

将当前工作目录中的所有 CSV 文件读入具有正确文件名的 pandas

如何打开目录中的所有文件并将更改保存在同一文件中? [关闭]

归档链接到特定目录中任何文件的所有文件[重复]