微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何使用 Openpyxl 更新现有的 Excel .xlsx 文件?

如何解决如何使用 Openpyxl 更新现有的 Excel .xlsx 文件?

我正在尝试使此代码正常工作,问题是在 excel 文件中未写入 print (...) 数据,我尝试使用 ws.appened (...) 但没有结果。

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')

我还尝试从单元格 B3:G3 开始在 excel 文件中找到结果数据,但我找不到。

解决方法

我得到了这个代码作为帖子的解决方案

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()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。