我想在循环中使用Python将多个文本文件(带分隔符)转换为单独的Excel
我有一个文件夹,其中有128个.txt文件,所有文件都有分隔数据,这些数据将转换为单独的Excel文件 我有代码将一个文本文件转换为excel文件,但我希望所有文件都应自动转换为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
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