如何通过Pandas Datafram在一个csv文件中附加多个csv文件记录

2024-09-23 10:28:54 发布

您现在位置:Python中文网/ 问答频道 /正文

大家好,我有一个程序,我有一个多csv文件,我想附加的csv文件,这是一个简单的例子,我有什么和我想要的。。在

File1.csv:

A  B  C  D
1  2  3  4
2  3  4  5

File2.csv:

A  B  C  D
8  8  8  8
9  9  9  9

outputFile.csv:
A  B  C  D
1  2  3  4
2  3  4  5
8  8  8  8
9  9  9  9

这是需要的输出,我已经写了一个代码,可以很好的工作。。在

^{pr2}$

这很好用,但是现在我从UI获取输入文件,在那里我得到了列表中的文件,因此我已经编写了一个代码,但它不起作用

datafiles = ["File1.csv","File2.csv"]
dataframes=[]
# df = pd.DataFrame()
for files in datafiles:
    df1= pd.read_csv(files)
    dataframes.append(df1)

    dataframes.to_csv("mergeOutput.csv", index=False)

我不想分开阅读所有的文件,为什么我使用for循环和存储所有数据到数据帧,但这是不正确的方式,我想请建议我正确的方法,如何做,我还想删除重复的文件,请让我知道,如果有任何不清楚的…提前谢谢。在

正如建议@Thotsaphon SirikuttaImport multiple csv files into pandas and concatenate into one DataFrame现在我可以根据需要获得输出文件,但是每次都会得到3到4个名为“Unnamed”的列,它是空的,所以请告诉我为什么我要得到额外的列如何在不使用drop()的情况下删除它这是代码

datafiles = ["File1.csv","File2.csv"]
dfs=[]

for filename in datafiles:
    dfs.append(pd.read_csv(filename))

mergeData = pd.concat(dfs,sort=False)
mergeData.to_csv("mergeOutput.csv", index=False)

Tags: 文件csv代码infalsedataframeforfiles
1条回答
网友
1楼 · 发布于 2024-09-23 10:28:54

如果有多个csv文件具有相同的列,可以执行以下操作:

import pandas as pd

opened = []

for file in arrayFile:
## you must puth header on 0 and index_col as none so you wont damage the 
#indexed later
  df = pd.read_csv(file, index_col= None, header = 0)
  opened.append(df)

frame = pd.concat(opened, axis = 0, ignore_index = True)

更新

如果您对数据有问题,可能是因为您必须先对结构进行预处理。看看我在电脑上做的这个例子。在

enter image description here

相关问题 更多 >