I am trying to make this code work, the problem is that in the excel file the print (...) data is not written, I have tried to use ws.appened (...) but without results.
import arcpy
from openpyxl import Workbook
wb = Workbook("C:/Users/Hp/Desktop/ejemplo/VINCULACION_S.xlsx")
ws = wb.active
rows = arcpy.SearchCursor("C:/Users/Hp/Desktop/ejemplo/VH_Dissolve.shp",
fields="COLOR; INTERNO_DE; CLASE_DEMA; COUNT_AREA; SUM_AREA; SUM_LENGTH",
sort_fields="COLOR 222; INTERNO_DE A")
# COLOR, INTERNO_DE, CLASE_DEMA, COUNT_AREA, SUM_AREA y SUM_LENGTH.
for row in rows:
print("Color: {0}, Interno: {1}, Clase:{2}, ContarA: {3}, SumarA: {4}, SumarL: {5}".format(
row.getValue("COLOR"),
row.getValue("INTERNO_DE"),
row.getValue("CLASE_DEMA"),
row.getValue("COUNT_AREA"),
row.getValue("SUM_AREA"),
row.getValue("SUM_LENGTH")))
wb.save('VINCULACION_S.xlsx')
I have also tried to locate the results data in the excel file from cell B3: G3 onwards but I can't find it.
Solved! Go to Solution.
I got this code as a solution to the post
import arcpy
import openpyxl as px
def main():
wb = px.load_workbook(r"C:\Users\Hp\Desktop\Ejemplo\VINCULACION_S.xlsx")
ws = wb['VINCULACION_SH_NUE']
in_features = r"C:\Users\Hp\Desktop\Ejemplo\VH_Dissolve.shp"
row_num = 3
with arcpy.da.SearchCursor(
in_features,
["COLOR", "INTERNO_DE", "CLASE_DEMA", "COUNT_AREA", "SUM_AREA", "SUM_LENGTH"],
) as cursor:
for row in cursor:
ws.cell(row=row_num, column=2).value = row[0]
ws.cell(row=row_num, column=3).value = row[1]
ws.cell(row=row_num, column=4).value = row[2]
ws.cell(row=row_num, column=6).value = row[3]
ws.cell(row=row_num, column=7).value = row[4]
ws.cell(row=row_num, column=8).value = row[5]
row_num += 1
wb.save(r"C:\Users\Hp\Desktop\Ejemplo\VINCULACION_S.xlsx")
if __name__ == "__main__":
main()
Use data access cursors
SearchCursor—ArcGIS Pro | Documentation
And try your field list as a list, not a concatenated string
I got this code as a solution to the post
import arcpy
import openpyxl as px
def main():
wb = px.load_workbook(r"C:\Users\Hp\Desktop\Ejemplo\VINCULACION_S.xlsx")
ws = wb['VINCULACION_SH_NUE']
in_features = r"C:\Users\Hp\Desktop\Ejemplo\VH_Dissolve.shp"
row_num = 3
with arcpy.da.SearchCursor(
in_features,
["COLOR", "INTERNO_DE", "CLASE_DEMA", "COUNT_AREA", "SUM_AREA", "SUM_LENGTH"],
) as cursor:
for row in cursor:
ws.cell(row=row_num, column=2).value = row[0]
ws.cell(row=row_num, column=3).value = row[1]
ws.cell(row=row_num, column=4).value = row[2]
ws.cell(row=row_num, column=6).value = row[3]
ws.cell(row=row_num, column=7).value = row[4]
ws.cell(row=row_num, column=8).value = row[5]
row_num += 1
wb.save(r"C:\Users\Hp\Desktop\Ejemplo\VINCULACION_S.xlsx")
if __name__ == "__main__":
main()