是否可以使用pandas将.xlsx保存为只读?

时间:2017-12-14 20:43:58

标签: python python-3.x python-2.7 pandas xlsxwriter

感觉应该有一种方法可以使用pandas'to_excel函数或XLSXwriter模块将.xlsx文件保存为只读。

我没有运气就看过这两份文件。

to_excelhttps://pandas.pydata.org/pandasdocs/stable/generated/pandas.DataFrame.to_excel.html

XLSXwriterhttp://xlsxwriter.readthedocs.io/workbook.html

还有另一种方法可以在熊猫中实现这一目标吗?

3 个答案:

答案 0 :(得分:3)

不确定是否可以使用pandas完成,但您可以在创建pandas后将其设置为只读。

import os
from stat import S_IREAD, S_IRGRP, S_IROTH
os.chmod(filename, S_IREAD|S_IRGRP|S_IROTH)

答案 1 :(得分:2)

但是,如果你想使用from xlsxwriter.workbook import Workbook ... book = Workbook('file/path') sheet = book.add_worksheet('worksheet_name') # Add separate format for unlocked cells unlocked = book.add_format({'locked': 0}) # Protect all cells in your sheet by default sheet.protect() ... # Write cell, locked by default sheet.write(row_number, column_number, data) # Write another cell, unlock it sheet.write(row_number, column_number, data, unlocked) ... book.close()

{{1}}

答案 2 :(得分:1)

@ Alex-Zisman的类似答案,但对于Windows:

import win32con, win32api, os

file_path = 'path/to/file.xlsx'
win32api.SetFileAttributes(file_path, win32con.FILE_ATTRIBUTE_READONLY)