我正在从一个网站检索多个以csv格式保存的数据帧。我将这些数据帧保存在一个空列表中,然后逐个读取。由于它们具有不同的列名和列顺序,所以无法将它们追加到单个数据帧中。因此,我有以下问题:
我是否可以在用于读取文件的循环中创建一个具有不同名称的数据帧,以便我为每个检索到的文件创建一个新数据帧,而不是将它们保存到列表中?如果这不可行/推荐,那有没有一种方法来迭代我的列表以提取数据帧?目前我一次只读取一个数据帧,但我想找到一种自动化代码的方法来创建类似data_1、data_2等的东西。现在我的代码时间消耗不大,因为我只有4个数据帧,但如果有更多数据,则这可能会变得麻烦。以下是我的代码:
我是否可以在用于读取文件的循环中创建一个具有不同名称的数据帧,以便我为每个检索到的文件创建一个新数据帧,而不是将它们保存到列表中?如果这不可行/推荐,那有没有一种方法来迭代我的列表以提取数据帧?目前我一次只读取一个数据帧,但我想找到一种自动化代码的方法来创建类似data_1、data_2等的东西。现在我的代码时间消耗不大,因为我只有4个数据帧,但如果有更多数据,则这可能会变得麻烦。以下是我的代码:
import pandas as pd
import urllib2
import csv
#we write the names of the files in a list so we can iterate to download the files
periods=['2012-1st-quarter','2012-2nd-quarter', '2012-3rd-quarter', '2012-4th-quarter']
general=[]
#we generate a loop to read the files from the capital bikeshare website
for i in periods:
url = 'https://www.capitalbikeshare.com/assets/files/trip-history-data/'+i+'.csv'
response = urllib2.urlopen(url)
x=pd.read_csv(response)
general.append(x)
q1=pd.DataFrame(general[0])
谢谢!