从CMD打开Python脚本时,无法将数据保存到文件中。

问题描述 投票:0回答:1

我有一个简短的脚本,可以接受用户输入并保存到电子表格中。当从CMD打开时,它似乎能正常运行,没有任何错误。然而,用户输入的数据实际上根本没有被保存。下面是代码。

import openpyxl
wb = openpyxl.load_workbook('C:\\Users\\sp\\Documents\\testFolder\\testTF.xlsx')
sheet = wb.active
while True:  
    print('Enter pairs seprated with colon')
    pairList = input().split(':')
    maxRowNum = sheet.max_row
    sheet.cell(row=maxRowNum + 1, column=1).value = pairList[0]
    sheet.cell(row=maxRowNum + 1, column=2).value = pairList[1]
    wb.save('testTF.xlsx')        
    print('Pair saved\n\n') 

如果从文件资源管理器打开而不是CMD, 脚本确实保存了数据. 但是在CMD中,它并没有保存数据。

  1. 在CMD中以管理员身份运行脚本,而不是普通用户
  2. 取消勾选父文件夹的 "只读 "属性。
  3. 创建一个新的文件夹,并将脚本移入其中。
  4. 取消勾选新的父文件夹的 "只读 "属性。
  5. 以管理员身份运行以下CMD命令。"attrib -r +s C:\Users\sp\Documents\testFolder",或 "attrib -r -s C:\Users\sp\Documents\testFolder",根据 https:/appuals.comhow-to-fix-folder-keeps-reverting-to-read-on-windows-10。上面的方法都不行。在CMD中运行时,脚本还是不能将数据保存到电子表格中。我不知道是哪里出了问题,该如何解决。有谁能帮忙吗?我真的很感激。
python debugging cmd openpyxl
1个回答
1
投票

你是从一个路径读取,然后保存在另一个路径中.试试。

import openpyxl
wb = openpyxl.load_workbook('C:\\Users\\sp\\Documents\\testFolder\\testTF.xlsx')
sheet = wb.active
while True:  
    print('Enter pairs seprated with colon')
    pairList = input().split(':')
    if len(pairList) < 2:
        break
    maxRowNum = sheet.max_row
    sheet.cell(row=maxRowNum + 1, column=1).value = pairList[0]
    sheet.cell(row=maxRowNum + 1, column=2).value = pairList[1]
    wb.save('C:\\Users\\sp\\Documents\\testFolder\\testTF.xlsx')        
    print('Pair saved\n\n') 

我刚刚测试了一下,效果不错 也许你打开的是excel,屏蔽版?

© www.soinside.com 2019 - 2024. All rights reserved.