假设我有三个txt文件,其中包括表在下面;
| 购买| Purchase |
| --| ------------ |
| 三个| 3 |
| 六| 6 |
我想把这些txt文件连接成一个txt文件...
我使用了这个代码;
import pandas
import glob
file_names = glob.glob("./*.txt")
with open('output_file.txt', 'w') as out_file:
for i in file_names:
with open(i) as in_file:
for j in in_file:
out_file.write(j)
data = pandas.read_csv("output_file.txt", delimiter='/')
字符串
然而结果是这样的:
| 购买| Purchase |
| --| ------------ |
| 三个| 3 |
| 六| 6 |
| 购买| Purchase |
| 三个| 3 |
| 六| 6 |
| 购买| Purchase |
| 三个| 3 |
| 六| 6 |
我想只取一个“销售和采购”行,并想删除其他销售和采购行。
我怎么能放下这些行。顺便说一下,也许txt文件的数量可以增加.
我的预期结果是这样的:
| 购买| Purchase |
| --| ------------ |
| 三个| 3 |
| 六| 6 |
| 三个| 3 |
| 六| 6 |
| 三个| 3 |
| 六| 6 |
2条答案
按热度按时间8wigbo561#
如果您将每个输入文件读取为CSV(尽管文件扩展名为.txt,但问题似乎暗示了这一点),那么您只需要从每个输入文件创建一个dataframe,然后将它们连接起来以生成输出文件,如下所示:
字符串
如果你不想使用 pandas,那么就像这样简单:
型
2wnc66cl2#
如果所有.txt文件都具有相同的结构,则可以在第二个循环中添加一个条件,以便对于除第一个文件之外的每个文件,跳过第一行:
字符串