在遍历文件夹后,是否有一种特定的方法可以将 3 个不同的文件路径打印到 csv?
Is there a specific method for printing 3 different files paths to a csv after iterating through a folder?
我对 python 还是很陌生,正在尽最大努力自学。我想要做的是在遍历文件夹后将 3 个不同的文件路径写入 csv。我遇到的问题是只有应该打印的第一个文件路径正在打印。我希望将以下输出打印到 csv:
['C:\Users\micha\Documents\USGS-NHD DATA\NHDwaterbody.shp']
['C:\Users\micha\Documents\USGS-NHD DATA\VietnamPA_name__Tam Dao.shp']
['C:\Users\micha\Documents\USGS-NHD DATA\WBD_11.shp']
但我最终只得到一个作为我的输出:
C:\Users\micha\Documents\USGS-NHD DATA\VietnamPA_name__Tam Dao.shp
这是我目前想出的代码。对于如何将所有三个项目打印到 csv 而不仅仅是一个,我将不胜感激。
import os
import csv
# assign directory
directory = 'C:\Users\micha\Documents\USGS-NHD DATA'
# iterate over files in
# that directory
for filename in os.listdir(directory):
f = os.path.join(directory, filename)
# checking if it is a file shp
if f.endswith('.shp'):
data= [f]
n = open('C:\Users\micha\Documents\create.csv','w')
writer = csv.writer(n)
for item in data:
writer.writerows([data])
在循环之前创建csv 文件。如果你在循环内执行它,它将被目录中的每个文件覆盖:
with open('C:\Users\micha\Documents\create.csv','w') as n:
writer = csv.writer(n)
for filename in os.listdir(directory):
f = os.path.join(directory, filename)
# checking if it is a file shp
if f.endswith('.shp'):
writer.writerow([f])
我对 python 还是很陌生,正在尽最大努力自学。我想要做的是在遍历文件夹后将 3 个不同的文件路径写入 csv。我遇到的问题是只有应该打印的第一个文件路径正在打印。我希望将以下输出打印到 csv:
['C:\Users\micha\Documents\USGS-NHD DATA\NHDwaterbody.shp']
['C:\Users\micha\Documents\USGS-NHD DATA\VietnamPA_name__Tam Dao.shp']
['C:\Users\micha\Documents\USGS-NHD DATA\WBD_11.shp']
但我最终只得到一个作为我的输出:
C:\Users\micha\Documents\USGS-NHD DATA\VietnamPA_name__Tam Dao.shp
这是我目前想出的代码。对于如何将所有三个项目打印到 csv 而不仅仅是一个,我将不胜感激。
import os
import csv
# assign directory
directory = 'C:\Users\micha\Documents\USGS-NHD DATA'
# iterate over files in
# that directory
for filename in os.listdir(directory):
f = os.path.join(directory, filename)
# checking if it is a file shp
if f.endswith('.shp'):
data= [f]
n = open('C:\Users\micha\Documents\create.csv','w')
writer = csv.writer(n)
for item in data:
writer.writerows([data])
在循环之前创建csv 文件。如果你在循环内执行它,它将被目录中的每个文件覆盖:
with open('C:\Users\micha\Documents\create.csv','w') as n:
writer = csv.writer(n)
for filename in os.listdir(directory):
f = os.path.join(directory, filename)
# checking if it is a file shp
if f.endswith('.shp'):
writer.writerow([f])