We are asked to grasp the data of COVID-19 in Hong Kong in 2020 from https://github.com/CSSEGISandData/COVID-19/tree/master/csse_covid_19_data/csse_covid_19_daily_reports.
As you can see, there are 345 CSV files meeting the demands. However, we only need one row in every CSV file. It's very time-costing to read one CSV using pandas and locate the row "region" is "hong kong" and append to another data frame.
Any better solutions to this task?
#hrefs here is the list containing all the csv URL
df1 = pd.read_csv(hrefs[0])
df1 = df1[df1["Province/State"] == "Hong Kong"]
myL = []
for i in range(1,len(hrefs)):
df2 = pd.read_csv(hrefs[i])
if "Province/State" in df2.columns:
#df2 = df2[df2["Province/State"] == "Hong Kong"]
df2 = df2.loc[df2["Province/State"] == "Hong Kong"]
else:
#df2 = df2[df2["Province_State"] == "Hong Kong"]
df2 = df2.loc[df2["Province_State"] == "Hong Kong"]
df2.rename(columns={"Country_Region":"Country/Region","Province_State":"Province/State","Last_Update":"Last Update"}, inplace=True)
df2 = df2[["Province/State","Country/Region","Last Update","Confirmed","Deaths","Recovered"]]
myL.append(df2)
df1.append(myL)