我想一次打开并读取许多csv文件,将每个文件作为一个DataFrame打开,然后将它们全部放到一个数据框中。所有csv / DataFrames的列数均相同。 我试图做的是这样:
import os
import pandas as pd
df = pd.DataFrame()
paths = "C:\\Users\\Host02\\Documents\\analise2\\archives\\ms"
arr = os.scandir(paths)
for file in arr:
df2 = pd.read_csv(file.path, sep=";", header=8)
df.append(df2)
问题在于,最后第一个Dataframe(df)保持为空,似乎append无效。
编辑:我已经用这种方式解决了我的问题。我感谢所有的支持者。
import pandas as pd
import os
arquivos_path = os.scandir("/home/marcos/Python/pesquisa/arquivos/ms/bissexto")
j = pd.DataFrame()
for arquivo in arquivos_path:
df = pd.read_csv(arquivo.path, skiprows=8, sep=";")
j = j.append(df)
j.to_csv("/home/marcos/Python/pesquisa/arquivos/ms_novo/bissexto/teste.csv", index=False)
答案 0 :(得分:0)
如果您的csv文件具有相同的宽度,则您应该可以运行以下文件:
paths = "C:\\Users\\Host02\\Documents\\analise2\\archives\\ms"
arr = os.scandir(paths)
for i,file in enumerate(arr):
load_df = pd.read_csv(file.path, sep=";", header=8)
if i==0:
df=load_df
if i>0:
df=pd.concat([df, load_df])
答案 1 :(得分:0)
将每个文件加载到数据框中,然后将它们添加到列表中。
然后使用([l1, c3])
将所有这些数据帧合并在一起。
以下是使用与您相同的代码结构的示例:
pd.concat