【问题标题】:Writing a user specified folder structure to csv in Python在 Python 中将用户指定的文件夹结构写入 csv
【发布时间】:2016-02-22 02:18:10
【问题描述】:

我正在尝试编写一个 python 脚本,该脚本将接收用户指定的目录,然后将该目录的内容写入 csv 文件。我面临的挑战是以某种格式将文件夹结构写入 csv。我需要的格式如下所示:

我尝试使用 os.walk(dir) 列出目录和文件,但无法以上述格式写入 csv。

我还发现了一些从给定文件夹结构中创建嵌套字典的代码,但我发现很难浏览这个嵌套结构并以我需要的方式编写行。

如果有人有更简单的方法来完成这项任务,将不胜感激。

【问题讨论】:

  • 你必须使用 csv 吗?还有其他格式可以更方便地保存结构化数据。像 JSON 或 pickle。
  • 感谢您的回复。不幸的是,最终格式需要在 csv...

标签: python csv directory


【解决方案1】:

好的,这是完成这项工作的代码:

import os
import csv

data = []
for root, dirs, files in os.walk('.'):
    for f in files:
        l = root.split('/') + [f]
        data.append(l)

with open('output.csv', 'wb') as f:
    writer = csv.writer(f)
    for d in data:
        writer.writerow(d)

如果您使用的是 Windows,请将 split('/') 替换为 split('\\')

【讨论】:

  • 谢谢安东。我能够使用 os.walk 得出类似的结果。这种方法的主要问题是它遗漏了我也需要写入 csv 的空文件夹。此外,我找不到删除每个文件夹的所有重复值的简单方法...
猜你喜欢
  • 2016-01-26
  • 1970-01-01
  • 2019-03-24
  • 2019-07-23
  • 2019-11-26
  • 2018-12-06
  • 1970-01-01
  • 2015-01-12
  • 2012-02-24
相关资源
最近更新 更多