python - 如何通过 python csv() 函数读取目录中的多个 csv 文件?
问题描述
在我的一个目录中,我有多个 CSV 文件。我想通过 python 代码读取所有 CSV 文件的内容并打印数据,但直到现在我还不能这样做。
所有 CSV 文件都具有相同的列数和相同的列名。
我知道一种列出目录中所有 CSV 文件并通过“os”模块和“for”循环遍历它们的方法。
for files in os.listdir("C:\\Users\\AmiteshSahay\\Desktop\\test_csv"):
现在使用“csv”模块读取文件名
reader = csv.reader(files)
直到这里,我希望输出是 CSV 文件的名称。恰好是排序的。例如,名称为 1.csv、2.csv 等等。但输出如下
<_csv.reader object at 0x0000019F97E0E730>
<_csv.reader object at 0x0000019F97E0E528>
<_csv.reader object at 0x0000019F97E0E730>
<_csv.reader object at 0x0000019F97E0E528>
<_csv.reader object at 0x0000019F97E0E730>
<_csv.reader object at 0x0000019F97E0E528>
如果我在 csv.reader() 之后添加 next() 函数,我会得到以下输出
['1']
['2']
['3']
['4']
['5']
['6']
这恰好是我的 CSV 文件名的首字母。这是部分正确但不完全正确。
除此之外,一旦我迭代了文件,如何在屏幕上查看 CSV 文件的内容?今天我有6个文件。后来,我可以有 100 个文件。因此,在我的场景中无法使用文件处理方法。
有什么建议么?
解决方案
我在开发项目时发现的最简单的方法是使用 dataframe、read_csv 和 glob。
import glob
import os
import pandas as pd
folder_name = 'train_dataset'
file_type = 'csv'
seperator =','
dataframe = pd.concat([pd.read_csv(f, sep=seperator) for f in glob.glob(folder_name + "/*."+file_type)],ignore_index=True)
在这里,所有的 csv 文件都被加载到 1 个大数据框中。
推荐阅读
- python - 如何将单词中的日期和时间字符串转换为数字?
- cmake - 无法安装最前沿的 CMake 包
- java - 在 Android kotlin 的内部存储中从 Firebase 读取和写入视频
- c - 如何使用带有双指针变量的结构字段(没有支持变量)?
- python - django 表没有名为 Exception 的列
- css - SCSS mixins 中 if/else 条件的语法
- reactjs - 将 Redux 状态重置为未定义或初始状态,除了一种状态
- javascript - 这是加法还是减法?
- python - Python 插入 MySQL:未能记录价格 1452 (23000):无法添加或更新子行:外键约束失败
- python - Pycharm pyautogui 问题,无法启动两行程序