,python"/>

首页 > 解决方案 > ArgParse:ValueError:无效的文件路径或缓冲区对象类型:

问题描述

我想在命令行中使用参数运行我的代码,但我遇到了错误。我第一次使用 argparse,我不知道错误在哪里。

命令:

python3 malytest1111.py --csv "/home/gis/0418_GML_OT_BUBD_A.csv"

代码:

import argparse
import pandas as pd


parser = argparse.ArgumentParser()
parser.add_argument('--csv', nargs='+')
args = parser.parse_args()   


df = pd.read_csv(args.csv)
df = df[['lokalnyId', 'wersjaId', 'x_katIstnienia', 'nazwa', 'x_kod', 
         'funOgolnaBudynku', 'funSzczegolowaBudynku',
         'liczbaKondygnacji', 'x_aktualnoscG', 'x_aktualnoscA'
         , 'kodKst', 'zabytek', 'x_skrKarto',
         'koniecWersjiObiektu', 'geometry']]
df.to_excel('output.xlsx')

标签: python

解决方案


根据文档-

尝试这个:


import argparse
import pandas as pd

if __name__ == "__main__":
    parser = argparse.ArgumentParser()
    parser.add_argument('--csv', nargs='+')
    args = parser.parse_args()   

    #print(args.csv)

    df = pd.read_csv(args.csv[0])
    
    print(df)

运行为:

python3 malytest1111.py --csv "/home/gis/0418_GML_OT_BUBD_A.csv"

推荐阅读