Я сижу с этим вопросом уже довольно давно, и я ищу помощь. Я работал с данными из SEC EDGAR, где мне удалось загрузить номера CIK, даты, названия компаний и путь ftp к каждому годовому отчету компании. В общем, у меня есть 7000 строк, которые я должен загрузить.
Я запускаю свой код в Python для загрузки этих текстовых файлов (читая ftp-путь) и сохраняя их локально на своем компьютере. Имена этих файлов равны номеру CIK, дате и названию компании, разделенному на "-".
В дальнейшем я написал следующее, чтобы перепроверить, что я загрузил все 7 000 текстовых файлов:
import os
import csv
tenk_path = "D:/10ks/1 download/"
arr = os.listdir(tenk_path)
csvfile = "data.csv"
with open(csvfile, "a", newline="") as fp:
wr = csv.writer(fp, dialect='excel')
wr.writerow(['cik', 'name', 'year', 'unique_key'])
for name in arr:
main_name = name.split("-")
unique_key = str(main_name[0])+str(main_name[-1])
csvRow = [main_name[0],
main_name[1],
main_name[-1],
unique_key]
with open(csvfile, "a", newline="") as fp:
wr = csv.writer(fp, dialect='excel')
wr.writerow(csvRow)
print(name)
Затем я объединяю (в превосходстве для простоты) CIK и дату (год), которые должны быть уникальными для всех компаний. Затем я убеждаюсь, что нет пробелов, используя = TRIM, и преобразовывая текстовые строки в числа с помощью = VALUE.
Делая это, я сопоставляю конкатенацию номера CIK и года для файлов, которые я ПОДДЕРЖИВАЛ для загрузки, с конкатенацией тех, которые я загрузил (6 994). Поступая таким образом, я получаю, что я нахожу совпадения для всех 7000 - что вообще не имеет смысла в моей голове? Я уже убедился, что никакие дорожки и т.д. Не дублируют, так что этого не может быть.
Может ли кто-нибудь помочь? Данные можно найти здесь:
Я немного поспешил с замечанием о том, что сначала рассмотрел любые дубликаты. Я решил эту проблему, принудительно заставив Excel выполнять фильтрацию на основе единственной конкатенации. Однако впоследствии я заметил, что некоторые пути ftp были дубликатами - поэтому ошибка в части SEC EDGAR.