【发布时间】:2020-05-19 18:09:13
【问题描述】:
我有一组数据文件,其中包含三个不同的数据集。这些数据集作为单独的表排序,每个表都有自己的列。数据集没有固定长度(即行)。
我正在寻找一种方法来“清理”数据并将其倒入一个新的数据框中,该数据框将收集所有三个数据集(并将包含它们的所有列,并连接在一起)。
所以基本上我一直在尝试做的是读取每个列标题,然后将其数据倒入我创建的数据框中的相应列中。但是,新列会“馈送”所有原始列的数据,直到文件结束(包括来自第一个下方的 2 个数据集中的错误数据)。
有人可以建议如何解决这个问题吗?
谢谢!
例如我有一个看起来像这样的文件:
Column_Header A | Column_Header B | Column_Header C
Data1 | Data 2 | Data 3
Column_Header D | Column_Header E | Column_Header F
Data 4 | Data 5 | Data 6
并且需要数据框看起来像这样
Column_Header A | Column_Header B| Column_Header C | Column_Header D | Column_Header E| Column_Header F
Data1 | Data2 | Data3 | | |
| | | Data4 | Data5 |Data6
我的代码目前如下所示:
# Gather the files
files = [file for file in os.listdir('C:/Users/user/Downloads/Inventory data/Raw')]
# Create dataframe
all_files_data = pd.DataFrame()
# Add file data to dataframe
for file in files:
df = pd.read_excel("C:/Users/user/Downloads/Inventory data/Raw/"+file)
all_files_data = pd.concat([all_files_data, df])
# Add columns to dataframe
all_files_data['Entry_Month'] = ''
all_files_data['Currency'] = ''
all_files_data['Notes'] = ''
但是,输入月份、货币和票据的值被卡在错误的列中(即供应商名称、购买日期和价值)。 我需要一些方法来创建分离,但我不知道如何处理这个......
【问题讨论】:
-
您好,欢迎 StackOverflow!您介意编辑您的帖子并向我们展示您迄今为止对代码所做的尝试吗?届时我们将能够更好地为您提供帮助。
-
@DanielWalker 谢谢!已添加。