Лучший способ импортировать большой файл CSV или xlsx и объединить?

#excel #pandas #csv #concat

#excel #pandas #csv #объединение

Вопрос:

Я хочу объединить данные визы H1B за 5 лет с приведенным ниже кодом в jupyter notebook. 5 файлов (от H1B_16 до H1b_20) содержат более 60 тысяч строк по 200 МБ каждая.

Однако при попытке запустить код моя система зависает. Не уверен почему, но это может быть потому, что эти файлы слишком большие.

Есть ли лучший способ объединить их для использования в Pandas dataframe?

 # listing file name

filenames = []
for i in range(16,21):
    f = ("H1B_" str(i) ".csv")
    filenames.append(f)   
print(filenames)


# listing columns needed

features = '''CASE_STATUS,DECISION_DATE,VISA_CLASS,JOB_TITLE,SOC_CODE,SOC_TITLE,EMPLOYER_NAME,WORKSITE_CITY,WORKSITE_COUNTY,WORKSITE_STATE,WORKSITE_POSTAL_CODE,WAGE_RATE_OF_PAY_FROM,WAGE_UNIT_OF_PAY,PREVAILING_WAGE,PW_UNIT_OF_PAY'''
features = features.split(',')
print(features)


# selecting columns in CSV file

def h1b_col(name):
    s = pd.read_csv(name)
    s = s[features]
    return s


# concatenate files in the list

combined_csv = pd.concat([h1b_col(f) for f in filenames ] )
combined_csv.to_csv("H1B_16_to_20.csv") 
combined_csv

  

Комментарии:

1. Вы подтвердили, что можете импортировать каждый файл отдельно, используя приведенный выше код?

2. @Brennan Да. его можно импортировать, но он зависает, когда делает все это сразу