使用 pandas 合并多个 txt 文件里的字段的方法

2019-09-12 00:26:18 +08:00
 kayseen
比如我有三个 txt 文件,
a.txt 和 b.txt 和 c.txt
其内容字段一致,内容如下:
time,tmp,water,light
2019-09-03 03:23:09,28,28,8
2019-09-03 03:23:10,29,29,9
2019-09-03 03:23:11,30,30,10
2019-09-03 03:23:12,31,31,11
2019-09-03 03:23:13,32,32,12

我现在需要合并这三个文件的数据到一起,也就是把 b.txt 和 c.txt 的文件追加到 a.txt 中去, 请教问题如下:

1.怎么样把三个文件的内容合并成一个新文件呢?
2.如果前端需要的是我合并这三个文件之后的内容,我还需要先合并数据成一个文件,然后再读数据返回给前端吗?
还是直接可以把合并之后的数据不保存直接返回给前端?
4537 次点击
所在节点    Python
24 条回复
XuanFei990
2019-09-12 11:52:41 +08:00
windows cmd

copy a.txt + b.txt + c.txt temp.txt
bantao
2019-09-12 17:12:06 +08:00
@idcspy 这个需求可以用 pandas join 完然后比较排名上升还是下降几位喽
abucus
2019-09-12 22:46:23 +08:00
楼主,在合并 txt 这个方面,用 pandas concat 并不会比 python open 更快,当然在小文件的时候这个差别其实看不大出来,文件越大差距越明显,pandas 的优势主要还是数据分析。

用 open 顺序打开读取(跳过后面文件的 header )就可以了。

如果要把合并的结果返回给前端,不需要真正生成一个合并的文件,直接把 output 写到输出流就好,
一个相近的例子参看 https://flask.palletsprojects.com/en/1.1.x/patterns/streaming/

如果文件很大,再加一层 zip 比较好。
shm7
2019-09-13 09:16:22 +08:00
你们这些讲复制 shell io 的,人家能不懂,人家分明是几百 GB 的大文件要用分批读写,还要考虑重复过滤的好不好。人家说 1+1 的计算要用超算,很显然这 1+1 比较特殊啊

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

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

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

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

© 2021 V2EX