gpt4 book ai didi

python - 开发一个用于将数据信息输出到特定范围的 Excel 行和列的计数器?

转载 作者:太空宇宙 更新时间:2023-11-03 15:26:45 25 4
gpt4 key购买 nike

我是 Python 初学者,只有基本的基础知识,即。循环和模块。我有一些数据想要通过将其作为文本导出到特定的 Microsoft Excel 单元格来实现自动化。

具体来说,我有3个文件夹,每个文件夹中都有图像文件,总共10个图像文件。我的目标是编写一个代码,打开 Excel 并输出 A 列的每个降序行中的文件夹路径名称以及 B 列的降序行中的相应图像文件名。

到目前为止,我已经定义了文件夹和路径,并允许我的代码打开 Excel 并命名工作表并放入标题。在尝试将每个文件夹/文件单独迭代到新单元格中时,我遇到了问题。我尝试使用 range 函数,但它不适用于字符串,我觉得一个简单的计数器变量就可以了,但同样,Excel 列名和行名都是字符串。

这是迄今为止我的代码:

import win32com.client

import sys, os, string, arcpy

data_folder = "F:\\School\\GEOG_390\\Week11\\data"

xlApp = win32com.client.Dispatch("Excel.Application")
xlApp.Visible = 1
xlApp.Workbooks.Add()

print(xlApp.Worksheets("Sheet1").Name)
xlApp.Worksheets("Sheet1").Range("A1").Value= "Data Files:"


for root, folders, files, in os.walk(data_folder):
for folder in folders:
workspace = os.path.join(root, folder)
print( "Processing" + " " + workspace)

arcpy.env.workspace = workspace

rasters = arcpy.ListRasters("*", "IMG")

for raster in rasters:
arcpy.BuildPyramids_management(raster)
arcpy.CalculateStatistics_management(raster)

print(raster)


sheet = xlApp.Worksheets("Sheet1")
sheet.Range("A2").Value = "Folder:" + folder
sheet.Range("B2").Value = "Raster:" + raster

print(sheet.Range("A2").Value)
print(sheet.Range("B2").Value)

我需要代码将文件夹名称 1 放入单元格 A2 中,将图像文件名放入 B2 中,然后将文件夹 2 放入单元格 A3 中,将文件 2 放入单元格 B3 中,一直到单元格 A11 和 B11。

最佳答案

如果我正确理解了问题,那么每次处理文件时,您都很难弄清楚如何增加单元格的名称(例如“A2”和“B2”)。如果这不是问题,我很抱歉。

(1) 在第一个 for 循环之前,声明一个变量 cell_row,该变量将跟踪将在其中创建下一对单元格的行号。从 2 点开始。

cell_row = 2

(2) 按如下方式修改循环的结尾:

    folder_cell = "A" + str(cell_row)
raster_cell = "B" + str(cell_row)
sheet = xlApp.Worksheets("Sheet1")
sheet.Range(folder_cell).Value = "Folder:" + folder
sheet.Range(raster_cell).Value = "Raster:" + raster

print(sheet.Range(folder_cell).Value)
print(sheet.Range(raster_cell).Value)

cell_row += 1

关于python - 开发一个用于将数据信息输出到特定范围的 Excel 行和列的计数器?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43081562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com