在Python中将文件夹中的文本文件转换为CSV

tv6aics1  于 2023-02-27  发布在  Python
关注(0)|答案(1)|浏览(175)

我有一个文件夹RPT_AR,其中有3个文件:2个文本文件和1个csv文件,即RPT_AR1.csv、RPT_AR2.txt、RPT_AR3.txt,我想将文本文件转换为CSV
我试着用Python写代码

import os  
import fnmatch  
import pandas as pd  
files_dir = r'C:\Users\rajat.kapoor\Desktop\Scrub_Data\RPT_AR'  
files = os.listdir(files_dir)
for file in files:
    if fnmatch.fnmatch(file, 'RPT_AR*'):
        extension = os.path.splitext(file)[1]
        filename = os.path.join(files_dir, file)
        if extension =='.txt':
            pd.read_csv(r'filename',sep='|')
            filename.to_csv(r'filename')

但它给出错误EmptyDataError:文件中没有要分析的列
https://stackoverflow.com/questions/53481721/how-to-convert-text-file-to-csv-in-python
以上链接的答案相同,但适用于单个文本文件,而不是文件夹中的多个文本文件

at0kjp5o

at0kjp5o1#

import os  
import fnmatch  
import pandas as pd  

files_dir = r'C:\Users\rajat.kapoor\Desktop\Scrub_Data\RPT_AR'  
files = os.listdir(files_dir) 

for file in files:
    if fnmatch.fnmatch(file, 'RPT_AR*'):
        extension = os.path.splitext(file)[1]
        if extension =='.txt':
            filename = os.path.join(files_dir, file)
            df = pd.read_csv(filename, sep='|')
            new_filename = os.path.splitext(filename)[0] + '.csv'
            df.to_csv(new_filename, index=False)

进行这些更改后,代码应读取目录中的每个文本文件,使用pd.read_csv()解析它,然后将生成的DataFrame保存到与原始文本文件同名的新CSV文件中。

相关问题