【发布时间】:2025-11-26 23:30:01
【问题描述】:
我已经为我的脚本设置了一些 argparse 参数,如下所示:
import argparse
parser = argparse.ArgumentParser()
parser.add_argument("--file", "-i", type=str, required=True)
parser.add_argument("--outfile", "-o", type=str, required=False)
parser.add_argument("--tab", "-t", type=str, required=False)
parser.add_argument("--tab_result", "-tr", type=str, required=False)
args = parser.parse_args()
#assign value too variables
infile = args.file
outfilepath = args.outfile
tabs = args.tab
tab_result = args.tab_result
我需要将上面每个 argparsers 的变量传递给一个函数并将值分配给一个数据框。我正在尝试这样做:
def func1():
print(infile)
doc = pd.DataFrame()
doc['file'] = infile
doc['output_table_name'] = outfilepath
doc['output_table_fields'] = json_normalized['index'] #from another df, works fine
doc['output_table_datatypes'] = json_normalized['dtypes.name'] #from another df, works fine
writer = pd.ExcelWriter(tabs)
doc.to_excel(writer,args.documentor_tab)
writer.save()
#print(infile)
#print(outfilename)
print(doc)
return doc
print('wrote document')
func1()
当我打印此数据框时,infile 和 outpathfile argparse 值不会分配给数据框列,但是所有其余的 argparse 值都会分配。
我做错了什么,并非所有来自 argparse 的值都被分配给数据框?
【问题讨论】:
标签: python-3.x pandas arguments argparse