ToDesk01 发表于 2022-3-21 22:58

Python把for循环的值写入CSV 或Excel、小白求助

import os
import pandas as pd


path=r'C:\Users\Administrator\Desktop\0001'
for dirpath, dirnames, files in os.walk(path):
    print('文件夹:',dirpath,'子文件夹数量',len(dirnames),'子文件数量:',len(files),'子文件夹下:',dirnames)




#求助怎么把里面的值写入CSV,或Excel

# 文件夹: C:\Users\Administrator\Desktop\0001 子文件夹数量 7 子文件数量: 14 子文件夹下: ['bmpImages', 'test', 'tif', '新建文件夹', '新建文件夹 (2)', '新建文件夹 (3)', '新建文件夹 (4)']
# 文件夹: C:\Users\Administrator\Desktop\0001\bmpImages 子文件夹数量 0 子文件数量: 1 子文件夹下: []
# 文件夹: C:\Users\Administrator\Desktop\0001\test 子文件夹数量 0 子文件数量: 0 子文件夹下: []
# 文件夹: C:\Users\Administrator\Desktop\0001\tif 子文件夹数量 1 子文件数量: 15 子文件夹下: ['新建文件夹']
# 文件夹: C:\Users\Administrator\Desktop\0001\tif\新建文件夹 子文件夹数量 0 子文件数量: 15 子文件夹下: []
# 文件夹: C:\Users\Administrator\Desktop\0001\新建文件夹 子文件夹数量 0 子文件数量: 1 子文件夹下: []
# 文件夹: C:\Users\Administrator\Desktop\0001\新建文件夹 (2) 子文件夹数量 0 子文件数量: 11 子文件夹下: []
# 文件夹: C:\Users\Administrator\Desktop\0001\新建文件夹 (3) 子文件夹数量 0 子文件数量: 1 子文件夹下: []
# 文件夹: C:\Users\Administrator\Desktop\0001\新建文件夹 (4) 子文件夹数量 0 子文件数量: 5 子文件夹下: []

d8349565 发表于 2022-3-21 23:33

新建一个空dict,在for循环中把信息添加进去
全部添加完之后用pandas读取字典然后存入csv或者excel
pd.DataFrame()

randomone 发表于 2022-3-22 00:44

f = open('target.csv', 'w')
for ...
    f.write(...)
f.close()

jiaweigang 发表于 2022-3-22 01:11

本帖最后由 jiaweigang 于 2022-3-22 01:14 编辑


import csv

if __name__ == '__main__':
    with open('content.csv', 'w', newline='', encoding='utf-8') as csvFile:
      csv_writer = csv.writer(csvFile)
      csv_writer.writerows([, ])

for循环组装writerows的参数就行了

zhangting2022 发表于 2022-3-22 06:29

学了一段时间,没学会!

没事好好 发表于 2022-3-22 07:51

小白表示没看懂

wanlinwo 发表于 2022-3-22 08:39

du2009 发表于 2022-3-22 08:50

github上应该有类似的源码教程吧。

pubh 发表于 2022-3-22 10:07

import os
import pandas as pd

path=r'C:\Users\Administrator\Desktop\0001'
dp = []   # 文件夹列表
dns = []    # 子文件夹数量列表
subs = []   # 子文件数量列表
dirn = []   # 子文件夹下列表
for dirpath, dirnames, files in os.walk(path):
    # print('文件夹', dirpath, '子文件夹数量', len(dirnames), '子文件数量:', len(files), '子文件夹下', dirnames)
    dp.append(dirpath)
    dns.append(len(dirnames))
    subs.append(len(files))
    dirn.append(dirnames)

# 字典
dict = {'文件夹': dp, '子文件夹数量': dns, '子文件数量': subs, '子文件夹下': dirn}

df = pd.DataFrame(dict)
# 保存到csv文件
df.to_csv('dirpaths.csv')

# 显示csv文件内容
print(pd.read_csv('dirpaths.csv'))
页: [1]
查看完整版本: Python把for循环的值写入CSV 或Excel、小白求助