#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 Да. его можно импортировать, но он зависает, когда делает все это сразу