首页 > 解决方案 > 将许多 .txt 文件转换为 csv 并将它们组合起来

问题描述

我有很多 .txt 文件。我想将一些以特定名称结尾的文件转换为 csv 并将它们组合成一个 csv。

### Folder Name: text_files
python_gramm.py
aadd01.txt
aaxx02.txt
aaff03.txt
hhdd01.txt
attd02.txt
auud03.txt
.
.

文本文件包含数据列,如下所示: 在此处输入图像描述

我只想将那些.txt名称为“___01.txt”的文件转换为 csv 格式并将它们合并我的代码

#### python_gramm.py 
import os
import glob
    os.chdir('text_files/')
    extension = 'txt'
    all_filenames = [i for i in glob.glob('*01.{}'.format(extension))]
    #combine all files in the list
    combined_csv = pd.concat([pd.read_csv(f, delimiter='\t') for f in all_filenames ])
    #export to csv
    combined_csv.to_csv( "combined_csv.csv", index=False, encoding='utf-8-sig')

上面的代码运行成功,没有错误。

print(combined_csv)
0      4.18890   9.325750  ...  2.438860e-05            4.100250e+04
1      4.21399   9.339870  ...  2.461170e-05            4.063090e+04
2      4.26399   9.341690  ...  2.451400e-05            4.079280e+04
3      4.80021   9.346420  ...  2.442850e-05            4.093570e+04
4      6.50219   9.339300  ...  2.432250e-05            4.111400e+04

标签: pythoncsv

解决方案


你的代码说

glob.glob('1.{}'.format(extension))

但我认为你的意思是

glob.glob('*01.{}'.format(extension))

我认为您的 glob 没有找到任何名为“1.txt”的文件。


推荐阅读