如何只写文件名而不写整个路径?
How can I write only the file name instead of writing the entire path?
我正在尝试使用 os.chdir 所以我只能在目录中写入文件名 (Table1.xlsx) 而不是写入整个路径 (r"C:\Users\crist\word_automation\Summary_template\Table1.xlsx"),但这段代码似乎不起作用。
from win32com import client
import os
os.chdir(r"C:\Users\crist\word_automation\Summary_template")
excel = client.Dispatch("Excel.Application")
word = client.Dispatch("Word.Application")
doc = word.Documents.Open('Table1.docx')
book = excel.Workbooks.Open('Table1.xlsx')
sheet = book.Worksheets(1)
sheet.Range("A1:D5").Copy()
wdRange = doc.Content
wdRange.Collapse(0)
wdRange.PasteExcelTable(False, True, False)
os.remove('Table2.xlsx')
book.SaveAs('Table2.xlsx')
book.Close()
excel.Quit()
doc.SaveAs('TableOne.docx')
doc.Close()
word.Quit()
我收到这个错误:
com_error: (-2147352567, 'Exception occurred.', (0, 'Microsoft Excel', "抱歉,我们找不到 Table1.xlsx。是否有可能它被移动、重命名或删除? ", 'xlmain11.chm', 0, -2146827284), None)
尝试使用如下路径创建变量:
path = "desired/path/to/project"
然后每当您想与保存或加载文件进行交互时:
book.SaveAs(f'{path}/filename')
我正在尝试使用 os.chdir 所以我只能在目录中写入文件名 (Table1.xlsx) 而不是写入整个路径 (r"C:\Users\crist\word_automation\Summary_template\Table1.xlsx"),但这段代码似乎不起作用。
from win32com import client
import os
os.chdir(r"C:\Users\crist\word_automation\Summary_template")
excel = client.Dispatch("Excel.Application")
word = client.Dispatch("Word.Application")
doc = word.Documents.Open('Table1.docx')
book = excel.Workbooks.Open('Table1.xlsx')
sheet = book.Worksheets(1)
sheet.Range("A1:D5").Copy()
wdRange = doc.Content
wdRange.Collapse(0)
wdRange.PasteExcelTable(False, True, False)
os.remove('Table2.xlsx')
book.SaveAs('Table2.xlsx')
book.Close()
excel.Quit()
doc.SaveAs('TableOne.docx')
doc.Close()
word.Quit()
我收到这个错误: com_error: (-2147352567, 'Exception occurred.', (0, 'Microsoft Excel', "抱歉,我们找不到 Table1.xlsx。是否有可能它被移动、重命名或删除? ", 'xlmain11.chm', 0, -2146827284), None)
尝试使用如下路径创建变量:
path = "desired/path/to/project"
然后每当您想与保存或加载文件进行交互时:
book.SaveAs(f'{path}/filename')