形成一个循环将多个 .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_stacked
是 list3
,因为 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