python - 从 python 中的文件解析

标签 python file parsing

当我在终端中写入日期时,我会像这样执行代码:

python code.py " date"

例如python code.py 2017-05-14,但我有超过1500个日期。我已将它们保存在 file.txt 中。

但我不知道如何调整代码中的解析以恢复文件中的所有变量

if __name__ == '__main__':
    parser = argparse.ArgumentParser()
    with open(...) as f:
    for line in f:
        <do something with line>
    parser.add_argument("date", help="date format YYYY-MM-DD", type=str)
    parser.add_argument("--output", help="csv output filepath",type=str)
    args = parser.parse_args()

    region = {
        'France':'France',
        'ACA':'Grand-Est',
        'ALP':'Nouvelle-Aquitaine',
        'ARA':'Auvergne-Rhônes-Alpes',
        'BFC':'Bourgogne-Franche-Comté',
        'BRE':'Bretagne',
        'CEN':'Centre-Val de Loire',
        'IDF':'Ile-de-France',
        'LRM':'Occitanie',
        'NPP':'Hauts-de-France',
        'NOR':'Normandie',
        'PLO':'Pays-de-Loire',
        'PAC':'PACA',
    }

    # french date format...
    datefr = args.date[-2:] + '/' + args.date[5:7] + '/' + args.date[:4]

    if args.output:
        output = args.output
    else:
        output = 'eco2mix-' + args.date + '.csv'

    # grab all regions...
    df = [grab_params({'region':k,'date':datefr}) for k in region.keys()]
    df = pd.concat(df)
    assert len(df) == 96*len(region.keys())

    # NOTE : patching malformed date...
    df['Date'] = [i if '-' in i else i[-4:]+'-'+i[3:5]+'-'+i[:2] for i in df['Date']]

    assert len(set(df.Date)) == 1

    # NOTE : remove - empty values by NaN
    df.replace(to_replace = '-', value = np.NaN, inplace=True)
    df.replace(to_replace = 'ND', value = np.NaN, inplace=True)

df.to_csv(output,index = False, encoding = 'UTF8')

最佳答案

据我了解,您想要解析带有日期的文件并将每个日期正确地传递给您的脚本吗?您可以编写一个快速的 bash 脚本来执行此操作

while read p; do
   python code.py $p
done <file.txt

您可以将其另存为 script.sh 文件并运行它以迭代文件中的每个日期

关于python - 从 python 中的文件解析,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44027437/

相关文章:

python - 按行读取的文件平均排序 Python 3

python - 有没有办法找到Python中存在*.csv?

python - 为什么 json.loads 比 ast.literal_eval 快一个数量级?

javascript - 如何使用 Javascript 解析具有内层的 JSON?

c# - 使用 IronPython 通过 C# .NET 导入 Python 模块

java - 以 RESTful 方式上传文件?

python - 递归设置文件权限的Python方式是什么?

java - xml中的特殊字符和html标签解析

python - 试图理解 Pytorch 中的 "save_for_backward"是什么

python - Django更改表单字段错误消息