如何用命令执行python脚本

时间:2017-09-08 12:14:12

标签: python csv execute

我在python中创建了一个脚本,它读取excel文件并计算日期,现在我想用以下命令执行它:

python your_script.py ./path/to/transactions.csv

我的python脚本文件代码:

import csv

def csv_data(path):
    with open(path) as csv_file:
        readCSV = csv.DictReader(csv_file)

        for line in readCSV:
            col_from = line['from']
            col_to = line['to']
            col_ammount = line['amount']
            from_amount = int(float(col_ammount.lstrip('$').replace(',', ''))) - int(
                float(col_ammount.lstrip('$').replace(',', '')))
            to_amount = 0 + int(float(col_ammount.lstrip('$').replace(',', '')))
            print(col_from, '$'+str(from_amount), col_to, '$'+str(to_amount))

csv_data('transactions.csv')

2 个答案:

答案 0 :(得分:1)

您需要sys库,然后可以使用sys.argv [1]访问该参数。

import sys
csv_data(sys.argv[1])

答案 1 :(得分:0)

import csv
import argparse

ap = argparse.ArgumentParser()
ap.add_argument("-f", "--file", required = True,
    help = "path of .csv file is stored")

args = vars(ap.parse_args())

file = joblib.load(args["file"])


def csv_data(path):
    with open(path) as csv_file:
        readCSV = csv.DictReader(csv_file)

        for line in readCSV:
            col_from = line['from']
            col_to = line['to']
            col_ammount = line['amount']
            from_amount = int(float(col_ammount.lstrip('$').replace(',', ''))) - int(
                float(col_ammount.lstrip('$').replace(',', '')))
            to_amount = 0 + int(float(col_ammount.lstrip('$').replace(',', '')))
            print(col_from, '$'+str(from_amount), col_to, '$'+str(to_amount))

csv_data('transactions.csv')

打开CMD并撰写python your_script.py --file path/file.csv

让我知道。我也是新人,但我正在努力学习..