【发布时间】:2021-05-31 14:21:58
【问题描述】:
大家好,我是熊猫新手,
我有多个类似这样的 CSV 文件:
john_age.csv
john_gender.csv
john_weight.csv
mike_age.csv
mike_gender.csv
mike_weight.csv
smith_age.csv
smith_gender.csv
smith_weight.csv
...
...
每个 csv 文件都有一个简单的单个字符串或数字,如下所示:
john_age.csv 54
john_gender.csv male
john_weight.csv 65.4
基本上,我想让整个数据框看起来像这样:
age gender weight
john 54 male 65.4
mike 23 male 86.5
smith 52 female 54
我怎样才能做到这一点?
我认为关键思想是将每个 csv 文件名合并到数据帧中,但到目前为止,我只设法使用 glob.glob 和 append 函数读取多个 csv 文件,但 append 函数不是解决方案:
csv_path = \mypath\
filenames = glob.glob(csv_path + '\*.csv')
dfs= []
for file in filenames:
dfs.append(pd.read_csv(file))
提前非常感谢!!
【问题讨论】:
-
你真的是说每个 CSV 文件里都有一条信息吗?这是一种非常奇怪的存储方式。您应该将所有这些文件合并到一个 CSV 文件中,其中包含
john,54,male,65.4、mike,23,male,86.5等行。这样可以轻松导入数据框。 -
@TimRoberts 是的,数据是通过 OCR(光学字符识别)库获取的,不知何故我只能设法以这种方式提取。感谢您的帮助和洞察力!
标签: python pandas dataframe csv glob