我试了很多答案,但没有一个对我有效:
例如:Import multiple CSV files into pandas and concatenate into one DataFrame
import pandas as pd
import glob
import os
path = r'C:\DRO\DCL_rawdata_files' # use your path
all_files = glob.glob(os.path.join(path , "/*.csv"))
li = []
for filename in all_files:
df = pd.read_csv(filename, index_col=None, header=0)
li.append(df)
frame = pd.concat(li, axis=0, ignore_index=True)
我只有2个csv文件:
1.csv:
1,1
2,1
3,1
4,1
5,1
2.csv:
6,1
7,1
8,1
9,1
公平地说,这是我的合并程序:
files = glob.glob("data/*.csv")
df = []
for f in files:
csv = pd.read_csv(f, index_col=None, header=0)
df.append(csv)
df = pd.concat(df, axis=0, ignore_index=True)
df.to_csv("all.csv")
print(df);
下面是输出(print(df)):
这是"所有. csv":
,1,1.1,6
0,2,1.0,
1,3,1.0,
2,4,1.0,
3,5,1.0,
4,1,,7.0
5,1,,8.0
6,1,,9.0
而我需要所有的. csv都是:
1,1
2,1
3,1
4,1
5,1
6,1
7,1
8,1
9,1
我使用的是Python3.9和PyCharm 2022.3.1。
为什么我的所有. csv文件看起来像这样,我如何简单地将多个csv文件读入一个 Dataframe 以进行进一步处理?
3条答案
按热度按时间jhdbpxl91#
您必须交换
header
和index_col
的值:输出
all.csv
:fd3cxomn2#
我已经成功地使用这段代码附加到一个数据框几个Excel文件;它还强制某些列为字符串数据类型,当然,这是可以更改的:
您可以将其更改为CSV,而不是Excel。
62lalag43#