一次处理多个 CSV 文件
Manipulating multple CSV files at once
我目前正在学习如何使用 Python,目前我非常喜欢使用 CSV 文件。我设法学到了一些东西,现在我想将学到的东西一次应用到多个文件中。但是有些事情让我感到困惑。我有这个代码:
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith(".csv"):
paths=os.path.join(root,file)
tables=pd.read_csv(paths, header='infer', sep=',')
print(paths)
print(tables)
它以某种格式打印在该文件夹中找到的所有 CSV 文件(一种 table,第一行是 header,其余的在下面)
诀窍是我希望能够随时访问这些(打印和编辑),而我在那里写的内容只打印一次。如果我在那之后在其他任何地方写 print(paths)
或 prints(tables)
它只打印最后一个 CSV 文件及其数据,即使我相信它应该做同样的事情。
我也尝试为每个打印(tables 和路径)制作类似的单独代码,但它只适用于第一个 os.walk()
- 我只是不明白为什么它只工作一次。
谢谢!
您需要在加载数据帧时存储它们。现在你只是加载和丢弃。
dfs = []
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith(".csv"):
paths=os.path.join(root,file)
tables=pd.read_csv(paths, header='infer', sep=',')
dfs.append(tables)
print(paths)
print(tables)
以上将为您提供 DataFrame 列表 dfs
,然后您可以访问和使用这些数据帧。像这样:
print(dfs[0])
# prints the first DataFrame you read in.
for df in dfs:
print(df)
# prints each DataFrame in sequence
存储数据后,您几乎可以做任何事情。
我目前正在学习如何使用 Python,目前我非常喜欢使用 CSV 文件。我设法学到了一些东西,现在我想将学到的东西一次应用到多个文件中。但是有些事情让我感到困惑。我有这个代码:
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith(".csv"):
paths=os.path.join(root,file)
tables=pd.read_csv(paths, header='infer', sep=',')
print(paths)
print(tables)
它以某种格式打印在该文件夹中找到的所有 CSV 文件(一种 table,第一行是 header,其余的在下面)
诀窍是我希望能够随时访问这些(打印和编辑),而我在那里写的内容只打印一次。如果我在那之后在其他任何地方写 print(paths)
或 prints(tables)
它只打印最后一个 CSV 文件及其数据,即使我相信它应该做同样的事情。
我也尝试为每个打印(tables 和路径)制作类似的单独代码,但它只适用于第一个 os.walk()
- 我只是不明白为什么它只工作一次。
谢谢!
您需要在加载数据帧时存储它们。现在你只是加载和丢弃。
dfs = []
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith(".csv"):
paths=os.path.join(root,file)
tables=pd.read_csv(paths, header='infer', sep=',')
dfs.append(tables)
print(paths)
print(tables)
以上将为您提供 DataFrame 列表 dfs
,然后您可以访问和使用这些数据帧。像这样:
print(dfs[0])
# prints the first DataFrame you read in.
for df in dfs:
print(df)
# prints each DataFrame in sequence
存储数据后,您几乎可以做任何事情。