Python把for循环的值写入CSV 或Excel、小白求助
import osimport 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 子文件夹下: [] 新建一个空dict,在for循环中把信息添加进去
全部添加完之后用pandas读取字典然后存入csv或者excel
pd.DataFrame() f = open('target.csv', 'w')
for ...
f.write(...)
f.close() 本帖最后由 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的参数就行了 学了一段时间,没学会! 小白表示没看懂 github上应该有类似的源码教程吧。 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]