In one of my directory, I have multiple CSV files. I wanted to read the content of all the CSV file through a python code and print the data but till now I am not able to do so.

All the CSV files have the same number of columns and the same column names as well.

I know a way to list all the CSV files in the directory and iterate over them through "os" module and "for" loop.

for files in os.listdir("C:\Users\AmiteshSahay\Desktop\test_csv"):

Now use the "csv" module to read the files name

reader = csv.reader(files)

till here I expect the output to be the names of the CSV files. which happens to be sorted. for example, names are 1.csv, 2.csv so on. But the output is as below

<_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>

if I add next() function after the csv.reader(), I get below output

["1"]

["2"]

["3"]

["4"]

["5"]

["6"]

This happens to be the initials of my CSV files name. Which is partially correct but not fully.

Apart from this once I have the files iterated, how to see the contents of the CSV files on the screen? Today I have 6 files. Later on, I could have 100 files. So, it"s not possible to use the file handling method in my scenario.

Any suggestions?

解决方案

I would recommend reading your CSVs using the pandas library.

Check this answer here: Import multiple csv files into pandas and concatenate into one DataFrame

Although you asked for python in general, pandas does a great job at data I/O and would help you here in my opinion.

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐