【问题标题】:I want to convert multiple text file (delimited) to separate Excel using Python in a loop我想在循环中使用 Python 将多个文本文件(分隔)转换为单独的 Excel
【发布时间】:2020-02-20 05:55:45
【问题描述】:

我有一个文件夹,其中有 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 个文件。

请帮忙!

提前谢谢你

【问题讨论】:

    标签: excel python-3.x


    【解决方案1】:

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

    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
    

    【讨论】:

      【解决方案2】:

      试试这样的。 os.listdir 返回指定目录中的所有文件名。然后,如果它以 .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
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2022-06-07
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多