我正在尝试让此程序使用文件夹中的所有CSV文件。该文件夹在我的桌面上,它被称为“Web_Scraper”(我在Mac btw上)。
这是代码的样子;如何用(1.csv,2.csv,3.csv等)替换“枚举”中的内容?
from openpyxl import Workbook
import csv
import os
wb = Workbook()
ws = wb.worksheets[0]
header_keys = []
for n, fName in
enumerate(['3.csv','4.csv','5.csv','6.csv','7.csv','8.csv','9.csv','10.csv','11.csv','12.csv',]):
with open(fName) as fh:
csv_reader = csv.DictReader(fh, fieldnames=['header', 'data'], delimiter=',')
if n == 0:
for values in csv_reader:
我认为我应该使用像os.listdir这样的东西,但我并不确定语法应该是什么。
答案 0 :(得分:1)
您可以利用glob模块
import glob
scraper_files = glob.glob('*.csv') //returns an array of filenames
答案 1 :(得分:1)
您可以使用以下内容,
import os
from pathlib import Path
rootdir = 'xx/xx/x'
for subdir, dirs, files in os.walk(rootdir):
for file in files:
if ('.csv' in Path.suffix)
csv_reader = csv.DictReader(file, fieldnames=['header', 'data'], delimiter=',')
答案 2 :(得分:0)
您可以使用os模块
import os
os.listdir('~/Desktop/Web_Scraper') # Returns list of files or directory names inside that dir
您可以对文件扩展名应用过滤器以仅过滤掉csv文件
答案 3 :(得分:0)
您可以使用python的内置os
模块。
import os
os.listdir("this-directory") # returns list of files in this-directory
E.g。
import os
for file in os.listdir("."): # reading from current directory, replace it with your directory.
if file.endswith(".csv"):
with open(file) as fh:
csv_reader = csv.DictReader(fh, fieldnames=['header', 'data'], delimiter=',')
if n == 0:
for values in csv_reader:
希望它有所帮助!