Python 如何从具有特定日期范围作为条件的现有文件创建CSV文件

Python 如何从具有特定日期范围作为条件的现有文件创建CSV文件,python,csv,Python,Csv,我是编程新手,我正在尝试处理一个不断破坏Excel的非常大的文件。我实际上不需要使用Python中的数据,只想用我需要的创建一个新文件。这个文件是一个公司列表,我想得到所有在2020年注册的公司 excel文件包含34列(计0-34列)。最后一列(34)包含注册日期 import csv with open('Business_Entities_in_Colorado.csv', 'r') as csv_file: csv_reader = csv.reader(csv_file, d

我是编程新手,我正在尝试处理一个不断破坏Excel的非常大的文件。我实际上不需要使用Python中的数据,只想用我需要的创建一个新文件。这个文件是一个公司列表,我想得到所有在2020年注册的公司

excel文件包含34列(计0-34列)。最后一列(34)包含注册日期

import csv

with open('Business_Entities_in_Colorado.csv', 'r') as csv_file:
    csv_reader = csv.reader(csv_file, delimiter=',')

    with open('New_File.csv', 'w') as new_file:
        csv_writer = csv.writer(new_file)

        for line in csv_reader:
            if '2020' in line[34]:
                csv_writer.writerow((line),)
            else:
                print('Not found.') 
我被困在这里,我最好的猜测是我把它搞砸了:

if '2020' in line[34]
我原本以为我没有数到零,所以尝试了位置35,但它超出了范围,所以我知道我看到的是正确的列。也许我不知道,因为我搞不懂

编辑:
我没有例外。它只是显示“未找到”。该列日期格式的示例:03/02/2020(MM/DD/YYYY)

假设您只想将包含
2020
的行从一个文件复制/提取到另一个文件,则无需使用
csv
模块,可以逐行处理输入文件

因为您没有提供任何示例输入数据,所以我生成了一个非常基本的示例,以便能够显示一般方法。我的示例文件
Input.txt
如下所示:

1990 - Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
1996 - Aenean commodo ligula eget dolor. Aenean massa.
2020 - Cum sociis natoque penatibus et magnis dis parturient montes
2000 - nascetur ridiculus mus. Donec quam felis, ultricies nec
1976 - pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.
2020 - Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.
2002 - In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo.
2000 - Nullam dictum felis eu pede mollis pretium. Integer tincidunt.
2009 - Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus.
2003 - Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim.
1999 - Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
2010 - Phasellus viverra nulla ut metus varius laoreet.
1990 - Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue.
1983 - Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
2020 - Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum.
2019 - Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus.
2016 - Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt.
2008 - Duis leo. Sed fringilla mauris sit amet nibh.
1973 - Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

INPUT_FILE_NAME = 'Input.txt'
OUTPUT_FILE_NAME = 'Output.txt'

with open(INPUT_FILE_NAME, 'r') as input_file:
    with open(OUTPUT_FILE_NAME, 'w') as output_file:
        for line in input_file:
            if '2020' in line:
                output_file.write(line)
假设要提取数据的标准每行都是唯一的,则可以忽略任何列顺序或列结构,只需查看每行的内容,如下所示:

1990 - Lorem ipsum dolor sit amet, consectetuer adipiscing elit.
1996 - Aenean commodo ligula eget dolor. Aenean massa.
2020 - Cum sociis natoque penatibus et magnis dis parturient montes
2000 - nascetur ridiculus mus. Donec quam felis, ultricies nec
1976 - pellentesque eu, pretium quis, sem. Nulla consequat massa quis enim.
2020 - Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.
2002 - In enim justo, rhoncus ut, imperdiet a, venenatis vitae, justo.
2000 - Nullam dictum felis eu pede mollis pretium. Integer tincidunt.
2009 - Cras dapibus. Vivamus elementum semper nisi. Aenean vulputate eleifend tellus.
2003 - Aenean leo ligula, porttitor eu, consequat vitae, eleifend ac, enim.
1999 - Aliquam lorem ante, dapibus in, viverra quis, feugiat a, tellus.
2010 - Phasellus viverra nulla ut metus varius laoreet.
1990 - Quisque rutrum. Aenean imperdiet. Etiam ultricies nisi vel augue.
1983 - Curabitur ullamcorper ultricies nisi. Nam eget dui. Etiam rhoncus.
2020 - Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum.
2019 - Nam quam nunc, blandit vel, luctus pulvinar, hendrerit id, lorem. Maecenas nec odio et ante tincidunt tempus.
2016 - Donec vitae sapien ut libero venenatis faucibus. Nullam quis ante. Etiam sit amet orci eget eros faucibus tincidunt.
2008 - Duis leo. Sed fringilla mauris sit amet nibh.
1973 - Donec sodales sagittis magna. Sed consequat, leo eget bibendum sodales, augue velit cursus nunc
#!/usr/bin/env python3
# -*- coding: utf-8 -*-

INPUT_FILE_NAME = 'Input.txt'
OUTPUT_FILE_NAME = 'Output.txt'

with open(INPUT_FILE_NAME, 'r') as input_file:
    with open(OUTPUT_FILE_NAME, 'w') as output_file:
        for line in input_file:
            if '2020' in line:
                output_file.write(line)
提取的数据将写入一个输出文件
output.txt
,其中只包含
2020
行:

2020 - Cum sociis natoque penatibus et magnis dis parturient montes
2020 - Donec pede justo, fringilla vel, aliquet nec, vulputate eget, arcu.
2020 - Maecenas tempus, tellus eget condimentum rhoncus, sem quam semper libero, sit amet adipiscing sem neque sed ipsum.