我試圖將文件列表讀入Python中的Pandas DataFrames列表。但是,下面的代碼不起作用。將文件列表讀入DataFrame列表
files = [file1, file2, file3]
df1 = pd.DataFrame()
df2 = pd.DataFrame()
df3 = pd.DataFrame()
dfs = [df1, df2, df3]
# Read in data files
for file,df in zip(files, dfs):
if file_exists(file):
with open(file, 'rb') as in_file:
df = pd.read_csv(in_file, low_memory=False)
print df #the file is getting read properly
print df1 #empty
print df2 #empty
print df3 #empty
如何將原始數據框更新,如果我將它們作爲DataFrames列表傳遞給for-loop?
你的目標是要讀這些文件分爲三個話語結構或將它們合併在一起成單個DF? – MaxU
你正在更新迭代器而不是元素是什麼,如果你迭代一個列表,它將是同樣的事情。是否有理由需要先構建空的dfs而不是隻設置'dfs = []',然後遍歷這些文件並執行'dfs.append(pd.read_csv(in_file)'?) – EdChum
當您迭代列表中,你不能直接修改元素,行'df = pd.read_csv(in_file,low_memory = False)實際上並沒有修改列表中的元素,而是修改了元素的副本。它@EdChum :) – spiffman