python脚本能否将自己的内容输出到另一个文件?
我正在将python脚本中的一些数据导出到Excel文件中,我想知道是否也可以将当前运行的脚本的内容导出到该Excel文件中。这将节省我的时间,这样我就不必每次运行脚本时都手动将脚本复制到Excel文件中 我写Excel没有问题,我唯一的问题是我不知道python是否可以写出自己的脚本内容python脚本能否将自己的内容输出到另一个文件?,python,python-3.x,Python,Python 3.x,我正在将python脚本中的一些数据导出到Excel文件中,我想知道是否也可以将当前运行的脚本的内容导出到该Excel文件中。这将节省我的时间,这样我就不必每次运行脚本时都手动将脚本复制到Excel文件中 我写Excel没有问题,我唯一的问题是我不知道python是否可以写出自己的脚本内容 导入熊猫 excel\u file=pandas.ExcelFile(“my\u file.xlsx”) df=excel\u file.parse(“工作表名称”) 数据=df.样本(n=5,随机状态=1)
导入熊猫
excel\u file=pandas.ExcelFile(“my\u file.xlsx”)
df=excel\u file.parse(“工作表名称”)
数据=df.样本(n=5,随机状态=1)
#我更喜欢在这里获取脚本内容
#脚本内容=?
使用pandas.ExcelWriter(“output.xlsx”)作为编写器:
数据。到excel(书写器,工作表\u name='data')
脚本内容。到excel(编写器,工作表\u name='script')
编辑:可能的重复不是一个完整的解决方案,因为它只返回一个字符串,我的问题需要源代码的数据帧。请参见下面答案中的我的解决方案。请参见
如果您的代码是在函数foo()
下编写的:
变量
lines
现在保存函数foo()
的源代码。大多数Python模块都有一个\uuuuuuu file\uuuuu
全局变量,用于指定加载它们的源文件。可能是打开该文件并读取它是获取脚本源代码的最简单方法,假设脚本都在单个模块中
with open(__file__) as source_file:
source = source_file.read()
# do whatever you want with the source string
我在这里找不到其他答案的解决方案,但我确实找到了一种方法,部分使用了上面评论中提供的链接 我使用
inspect
模块获取脚本内容,并将其转换为数据帧进行导出。解决方案这是可行的解决方案:
导入熊猫
从pandas.compat导入StringIO
进口检验
def sample():
excel\u file=pandas.ExcelFile(r“file.xlsx”)
df=excel\u file.parse(“工作表名称”)
随机样本=df.样本(n=5,随机状态=1)
返回随机样本
我的样本=样本()
script\u text=pandas.read\u csv(StringIO(inspect.getsource(inspect.getmodule(inspect.currentframe())),sep=“\n”)
使用pandas.ExcelWriter('output.xlsx')作为编写器:
my_sample.to_excel(编写器,工作表名称='sample',索引=False)
脚本文本到excel(编写器,工作表名称='script',索引=False)
我不清楚你的意思。您是否正在尝试将源代码写入Excel文件?是的,脚本中的所有代码都需要与数据一起导出。因此,您的源代码位于某个文件中?那么你知道如何打开一个文件,阅读文本。。。等等?好吧,你可以写一个;)可能重复的
with open(__file__) as source_file:
source = source_file.read()
# do whatever you want with the source string