求问如何快速地将一个文件夹里的所有的 csv 文件转换到一个 numpy 数组里面去?

2019-07-03 19:32:21 +08:00
 amoy

RT,选修课的题目(之前提问过)现在遇到的问题。每个 csv 文件列索引是一样的,有一列是 label,其他是属性。

2006 次点击
所在节点    问与答
8 条回复
renmu
2019-07-03 19:39:08 +08:00
pandas 直接 read_csv()
amoy
2019-07-03 19:40:38 +08:00
@renmu 这个不是一次只能读取一 csv 个文件么?
renmu
2019-07-03 19:44:03 +08:00
@amoy 你做一个遍历,遍历文件夹所有的 csv 文件,然后 concat
zhucegeqiu
2019-07-03 21:10:51 +08:00
先 os.listdir, 再 pd.read_csv
amoy
2019-07-03 21:24:50 +08:00
@renmu @zhucegeqiu 打扰一下
listaddress=[]
for info in os.listdir('F:/bigdata/data/all'):
domain = os.path.abspath(r'F:/bigdata/data/all') # 获取文件夹的路径
info = os.path.join(domain, info) # 将路径与文件名结合起来就是每个文件的完整路径
listaddress.append(info)
dfs =[pd.read_csv(f) for f in listaddress]
#print(dfs[1])
df = pd.concat(dfs) # 将文件合并
请问运行报错是是为什么啊?
FutureWarning: Sorting because non-concatenation axis is not aligned. A future version
of pandas will change to not sort by default.

To accept the future behavior, pass 'sort=False'.

To retain the current behavior and silence the warning, pass 'sort=True'.
Loner233
2019-07-03 21:30:14 +08:00
@amoy 你看看列是否一致
amoy
2019-07-03 21:44:17 +08:00
@Loner233 多谢,还真是,有几个多了一列。文件太多了,之前没注意看,看了前几个是一样的以为都是一样的。
amoy
2019-07-04 12:44:39 +08:00
@renmu 解决了,多谢

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/579751

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX