Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/16.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
我想在循环中使用Python将多个文本文件(带分隔符)转换为单独的Excel_Excel_Python 3.x - Fatal编程技术网

我想在循环中使用Python将多个文本文件(带分隔符)转换为单独的Excel

我想在循环中使用Python将多个文本文件(带分隔符)转换为单独的Excel,excel,python-3.x,Excel,Python 3.x,我有一个文件夹,其中有128个.txt文件,所有文件都有分隔数据,这些数据将转换为单独的Excel文件 我有代码将一个文本文件转换为excel文件,但我希望所有文件都应自动转换为excel文件,并以相同的名称保存 我正在使用以下代码: import xlwt import xlrd f = open('Events.txt', 'r+') row_list = [] for row in f: row_list.append(row.split('|')) column_list = zi

我有一个文件夹,其中有128个.txt文件,所有文件都有分隔数据,这些数据将转换为单独的Excel文件

我有代码将一个文本文件转换为excel文件,但我希望所有文件都应自动转换为excel文件,并以相同的名称保存

我正在使用以下代码:

import xlwt
import xlrd
f = open('Events.txt', 'r+')
row_list = []
for row in f:
   row_list.append(row.split('|'))
column_list = zip(*row_list)
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
i = 0 
for column in column_list:
    for item in range(len(column)):
        worksheet.write(item, i, column[item])
    workbook.save('Excel.xls')
    i+=1
所有文件都存储在同一文件夹中。我无法创建一个循环,它将逐个打开文本文件,并将其转换为excel,以与文本文件相同的名称保存,然后选择第二个文本文件,以此类推,保存128个文件

请帮忙


提前感谢您

您可以像这样在文件夹中迭代:

import os

dir = "your directory"

for filename in os.listdir(dir):
    if filename.endswith(".txt"): 
        # print(os.path.join(dir, filename))
        continue # do your stuff
    else:
        continue

试试这样的。返回指定目录中的所有文件名。然后,如果它以.txt结尾,它将执行原始代码

import xlwt
import xlrd
import os

filepath = "C:\\Users\\Documents\\"
for txtfile in os.listdir(filepath):
    if txtfile.endswith('.txt'):
        f = open(filepath + txtfile, 'r+')
        row_list = []
        for row in f:
           row_list.append(row.split('|'))
        column_list = zip(*row_list)
        workbook = xlwt.Workbook()
        worksheet = workbook.add_sheet('Sheet1')
        i = 0 
        for column in column_list:
            for item in range(len(column)):
                worksheet.write(item, i, column[item])
            workbook.save(filepath + txtfile + '.xls')
            i+=1