呼び出し時に-p引数が必要な次のコードがあります。しかし、SQLクエリで-p引数をどのように呼び出すのですか?また、この-p引数のテキストを出力ファイル名に使用したいと考えています。Pythonコードで引数を呼び出す
#!/usr/bin/python
import argparse
import psycopg2
import csv
parser = argparse.ArgumentParser(description='insert the project ID as an
argument')
parser.add_argument('-p','--project_id', help='project_id to pull files from
ERAPRO',required=True)
args = parser.parse_args()
conn = psycopg2.connect(database="XXX", user="XXX", password="XXX",
host="XXX", port="5432")
cur = conn.cursor()
cur.execute("""SELECT project_analysis.project_accession,
analysis.analysis_accession, file.filename, file.file_md5, file.file_location
FROM project_analysis
LEFT JOIN analysis on project_analysis.analysis_accession = analysis.analysis_accession
LEFT JOIN analysis_file on analysis.analysis_accession = analysis_file.analysis_accession
LEFT JOIN file on analysis_file.file_id = file.file_id
WHERE project_accession = <INSERT -p ARGUMENT HERE> and analysis.hidden_in_eva = '0';""")
records = cur.fetchall()
with open ('/nfs/production3/eva/user/gary/evapro_ftp/<INSERT -p ARGUMENT
HERE>.csv', 'w') as f:
writer = csv.writer (f, delimiter = ',')
for row in records:
writer.writerow(row)
conn.close()
おかげ
私はあなたが望んでいたと仮定し、 '(args.project_id)'の代わりに '(PROJECT_ID)の' 'execute'声明へのパラメータとして。 – shahkalpesh
はい!それは確かに私たちがそこに持つべきものです。 – putonspectacles
ご協力いただきありがとうございます! – user7822097