从命令行向python脚本传递参数
我对python和pandas非常陌生,我试图在命令行中使用参数执行python脚本,但我遇到了一个错误,这是我的脚本从命令行向python脚本传递参数,python,pandas,Python,Pandas,我对python和pandas非常陌生,我试图在命令行中使用参数执行python脚本,但我遇到了一个错误,这是我的脚本 #!/usr/bin/python import sys, pandas as pd df1 = pd.read_table(sys.argv[0], sep="\t", header=0) df2 = pd.read_table(sys.argv[1], sep="\t", header=0) df_merge = pd.merge(left=df1, righ
#!/usr/bin/python
import sys, pandas as pd
df1 = pd.read_table(sys.argv[0], sep="\t", header=0)
df2 = pd.read_table(sys.argv[1], sep="\t", header=0)
df_merge = pd.merge(left=df1, right=df2, left_on=sys.arg[2], right_on=sys.arg[3])
df_merge.to_csv(sys.arg[4], sep="\t")
我得到了以下错误:KeyError:u'no item named file.out',任何帮助都将不胜感激
我的命令行语句是:merge_files.py file1.out file2.out col1 col3 test将所有索引增加1,因为sys.argv[0]-是python脚本的名称 即 依此类推。argv[0]是脚本的名称,即merge_files.py。通过在脚本开头插入printsys.argv可以看到这一点。尝试将所有索引增加1。第一个参数sys.argv[0]是脚本的名称 sys.argv: 传递给Python脚本的命令行参数列表。 argv[0]是脚本名称,它是否依赖于操作系统 这是否是完整路径名 请查看更多详细信息
#!/usr/bin/python
import sys, pandas as pd
df1 = pd.read_table(sys.argv[1], sep="\t", header=0)
df2 = pd.read_table(sys.argv[2], sep="\t", header=0)
df_merge = pd.merge(left=df1, right=df2, left_on=sys.arg[3], right_on=sys.arg[4])
df_merge.to_csv(sys.arg[5], sep="\t")
这应该行得通
#!/usr/bin/python
import sys, pandas as pd
df1 = pd.read_table(sys.argv[1], sep="\t", header=0)
df2 = pd.read_table(sys.argv[2], sep="\t", header=0)
df_merge = pd.merge(left=df1, right=df2, left_on=sys.arg[3], right_on=sys.arg[4])
df_merge.to_csv(sys.arg[5], sep="\t")