使用文件夹

时间:2017-08-03 04:57:14

标签: python csv

我正在尝试让此程序使用文件夹中的所有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这样的东西,但我并不确定语法应该是什么。

4 个答案:

答案 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:

希望它有所帮助!