形成一个循环将多个 .csv 文件连接成一个 .csv 文件

Posted

技术标签:

【中文标题】形成一个循环将多个 .csv 文件连接成一个 .csv 文件【英文标题】:Forming a loop to concatenate multiple .csv files into one .csv file 【发布时间】:2021-08-17 08:47:36 【问题描述】:
list1 = pd.read_csv('C:/Users/PC/list1.csv')
list2 = pd.read_csv('C:/Users/PC/list2.csv')
list3 = pd.read_csv('C:/Users/PC/list3.csv')

files = [list1, list2, list3]
  for list in files:
list_stacked = pd.concat([list])

list_stacked 只是 list3 为什么它没有垂直连接所有列表?

【问题讨论】:

能否分享CSV文件中的数据? 你只需要list_stacked = pd.concat(files,axis=1)...不需要for循环,你正在寻找axis=1参数 请正确缩进您的代码。 【参考方案1】:

pd.concat(list) 连接所有传入列表的数据帧。由于您要遍历每个文件,并且每次都将 list_stacked 设置为 pd.concat(list),因此 list_stackedlist3,因为 list3 是最后一次迭代的 DF。

要连接所有数据帧,请使用list_stacked = pd.concat(files)。既然你必须使用循环,那么遍历每个 DF,并将 list_stacked 设置为 list_stacked 和 DF 的连接版本

list1 = pd.read_csv('C:/Users/PC/list1.csv')
list2 = pd.read_csv('C:/Users/PC/list2.csv')
list3 = pd.read_csv('C:/Users/PC/list3.csv')

files = [list1, list2, list3]
# Create an empty dataframe, 'cause Python would raise a NameError
# saying that it doesn't recognize `list_stacked`.
list_stacked = pd.DataFrame() 
for file in files:
    list_stacked = pd.concat([list_stacked, file])

【讨论】:

感谢您的快速回复!是的,这可行,但我需要使用循环连接,这怎么可能? 为什么需要使用循环连接?无论如何,我已经编辑了答案

以上是关于形成一个循环将多个 .csv 文件连接成一个 .csv 文件的主要内容,如果未能解决你的问题,请参考以下文章

将多个csv文件导入pandas并连接成一个DataFrame

将多个 csv 文件连接成具有相同标题的单个 csv - Python

在c语言或者php 怎么将两个或多个常量连接起来,比如一个常量为1 另一个常量为2 连接成12

按创建日期过滤多个 csv 文件并连接成一个 pandas DataFrame

python 读取多个csv文件中某一列,并生成一个新csv文件

将多个csv文件导入pandas并拼接成一个DataFrame