【问题标题】:Forming a loop to concatenate multiple .csv files into one .csv file形成一个循环将多个 .csv 文件连接成一个 .csv 文件
【发布时间】: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参数
  • 请正确缩进您的代码。

标签: python python-3.x pandas dataframe data-science


【解决方案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])

【讨论】:

  • 感谢您的快速回复!是的,这可行,但我需要使用循环连接,这怎么可能?
  • 为什么需要使用循环连接?无论如何,我已经编辑了答案
猜你喜欢
  • 2019-01-29
  • 2020-09-01
  • 2022-11-04
  • 2014-01-21
  • 2022-01-19
  • 1970-01-01
  • 2021-11-15
  • 1970-01-01
相关资源
最近更新 更多