如何在python中正确读取带有argparse的文件
我创建了一个脚本,该脚本读取csv文件数据,并在进行一些计算后显示。当我在不使用argparse的情况下运行脚本时,它会提供正确的数据,但当我使用argparse运行脚本时,它会更改csv文件中的数字顺序 以下是我的脚本代码:如何在python中正确读取带有argparse的文件,python,csv,argparse,Python,Csv,Argparse,我创建了一个脚本,该脚本读取csv文件数据,并在进行一些计算后显示。当我在不使用argparse的情况下运行脚本时,它会提供正确的数据,但当我使用argparse运行脚本时,它会更改csv文件中的数字顺序 以下是我的脚本代码: import csv import argparse parser = argparse.ArgumentParser(description='Calculate values from a csv file') parser.add_argument("path",
import csv
import argparse
parser = argparse.ArgumentParser(description='Calculate values from a csv file')
parser.add_argument("path", type=str, help='Transactions amounts')
args = parser.parse_args()
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(args.path)
我希望使用以下格式的命令行正确运行此脚本:
script.py csv file path
我真的不明白使用argparse(或一般的argparse)会如何改变正在使用的文件中的数字序列。是否确实指定了正确的文件/与添加argparse之前相同的文件?是的,没有argparse,所有事情都可以正常工作,但当我使用argparse时,它更改了csv文件中的数字顺序。如果要调试以确保您正在读取的文件是您期望的文件,只需打印它的内容。我真的不知道你使用argparse(或一般的argparse)会如何改变你正在使用的文件中的数字序列。是否确实指定了正确的文件/与添加argparse之前相同的文件?是的,没有argparse,一切都可以正常工作,但当我使用argparse时,它更改了csv文件中的数字顺序。如果要调试以确保正在读取的文件是您期望的文件,只需打印其内容即可。