python - Python - 从excel列列表创建多个文件夹
问题描述
我基本上是想让 Python 在一个目录中创建一堆文件夹,每个文件夹的名称都基于 Excel 文件中的列表。该列表位于 D 列中,其标题为“文件夹名称”。
我已经能够用单个单元格做到这一点,但很难弄清楚如何为多个单元格做到这一点。我到目前为止的代码如下。
非常感谢您的帮助-我对此很陌生!`
import os
import openpyxl
def folder_creation(EXCEL_FILE_DIRECTORY, FOLDER_CREATION_LOCATION, EXCEL_FILE_NAME):
os.chdir (EXCEL_FILE_DIRECTORY)
workbook = openpyxl.load_workbook (EXCEL_FILE_NAME)
sheet = workbook.get_sheet_by_name ('Sheet1')
folderName = sheet ['D2'].value
baseDir = FOLDER_CREATION_LOCATION
os.makedirs(os.path.join(baseDir, folderName))
print ("\nFolder created in: ", os.path.join(baseDir, folderName))
解决方案
您必须遍历所有列值。这对我有用(openpyxl v2.5):
def folder_creation(EXCEL_FILE_DIRECTORY, FOLDER_CREATION_LOCATION, EXCEL_FILE_NAME):
os.chdir(EXCEL_FILE_DIRECTORY)
workbook = openpyxl.load_workbook(EXCEL_FILE_NAME)
sheet = workbook.get_sheet_by_name('Sheet1')
col_values = [cell.value for col in sheet.iter_cols(
min_row=2, max_row=None, min_col=4, max_col=4) for cell in col]
for value in col_values:
folderName = value
baseDir = FOLDER_CREATION_LOCATION
os.makedirs(os.path.join(baseDir, folderName))
print("\nFolder created in: ", os.path.join(baseDir, folderName))
推荐阅读
- google-chrome - Chrome 扩展:contextMenus API 已被弃用 - 存在什么替代解决方案可以在右键单击时将扩展添加到菜单中?
- android - 如何在 Android 10 及更高版本中通过意图 MediaStore.ACTION_IMAGE_CAPTURE 获取图像 URI
- flutter - 如何在颤动中将“应用程序/八位字节流”内容类型的图像发送到 Azure 认知服务
- c++ - 如何将此代码打印到 .out 或 .txt 文件
- python - 使用 Loguru 登录时如何限制小数位数?
- datastage - 如何在 DataStage 中将错误消息捕获到文件中
- python - 用于 Impala ODBC 驱动程序的 pyodbc 参数化插入
- javascript - 标签文本在文本区域框中重叠
- python - 如何绘制具有 100 万条以上记录以及纬度、经度和海拔点的 3D 交互式绘图
- ruby-on-rails - 多个 Rails 应用程序 docker up 不工作