【发布时间】:2019-05-06 23:23:42
【问题描述】:
我正在编写一个脚本来从目录中提取所有文件名,修改名称,然后将名称输出到 Excel 文件。截至目前,我只是专注于将文件名列表输出到 .csv 文件,当我这样做时,文件名出现在水平列表中,每列中有一个项目,而不是垂直列表,标题下每行中的一项。
我尝试使用 writer.writerow(files) 和 for i in files: writer.writerow(i)。第一个给了我当前的水平输出,而第二个将每个字符水平分解成一个新单元格,同时垂直写入列表。
import os
import csv
path = "C:\\Users\\[REST OF PATH]\\"
files = []
csv_filename = "python_list_test.csv"
#r = root, d = directory, f = files
''' * for r,d,f, in os.walk(path):
for file in f:
if '.txt' in file:
files.append(os.path.join(r,file))
for f in files:
print(f)
'''
for r,d,f in os.walk(path):
for name in f:
if '.pdf' in name:
files.append(name)
for i in files:
print(i)
with open(csv_filename, mode='w',newline='') as c:
writer = csv.writer(c)
writer.writerow(['File Name',])
writer.writerow(files)
我希望代码能给我一个单列列表,每一行都是下一个项目。当我打印前面提到的第二种方法时(for i in files:...),它看起来很完美,但写入 .csv 文件时会分离出字符。
【问题讨论】: