使用 for 循环将数据附加到 Pandas DataFrame

Appending data to Pandas DataFrame with for loop

我有一个包含四个 URL 的列表,我正在尝试循环并读入 Pandas 作为 DataFrame。问题是它只会读入其中一个 .csv 文件。

以下是我的代码:

#Import necessary libraries
import pandas as pd
import time

#URL's for weekly projections on rotogrinders.com

url =['https://rotogrinders.com/projected-stats/nfl-qb.csv?site=draftkings',\
      'https://rotogrinders.com/projected-stats/nfl-rb.csv?site=draftkings',\
      'https://rotogrinders.com/projected-stats/nfl-wr.csv?site=draftkings',\
      'https://rotogrinders.com/projected-stats/nfl-te.csv?site=draftkings']

#Loop through each url, read the .csv into a DataFrame,append all together, 
#then write the DataFrame to a .csv file

file_name = 'weekly_projections_'
timestr = time.strftime('%Y%m%d')

df = pd.DataFrame()

for data in url:
    df = pd.read_csv(data)
    df.append
    df.to_csv(file_name + timestr + '.csv')

当我通过时。 info() 你可以看到我只得到了 1/4 的结果。我预计会有 200 多个条目

df.info

    <class 'pandas.core.frame.DataFrame'>
RangeIndex: 28 entries, 0 to 27
Data columns (total 8 columns):
Baker Mayfield    28 non-null object
5400              28 non-null int64
CLE               28 non-null object
QB                28 non-null object
ATL               28 non-null object
30.18435          28 non-null float64
9.81225           28 non-null float64
18.69             28 non-null float64
dtypes: float64(3), int64(1), object(4)
memory usage: 1.8+ KB

有人有什么建议吗?

你可以用你的 for 循环做这样的事情:

在开头声明一个空数据框:

tmp = pd.DataFrame()
for data in url:
    df = pd.read_csv(data)
    tmp = tmp.append(df)
    #df.to_csv(file_name + timestr + '.csv')

# Now, `tmp` will have dataframes for all URL's. You can then write this to `csv

tmp.to_csv(file_name + timestr + '.csv')

如果这是你想要的,请告诉我。