如何从一个文件夹中的多个文件读取数据并将其提取到csv / xls中?

时间:2018-10-17 17:47:00

标签: python excel python-3.x csv

我有一个包含很多文件的文件夹(不仅仅是TXT)。我希望能够对文件进行排序,并以Python的方式逐行读取每个文件,并将数据插入到csv文件中。数据是原始数据,没有列。由于某种原因,我只能得到一个文件。 (将文件插入文件逐行浏览)

数据基本上是时间戳,错误号,状态(无逗号),更新时间已完成(布尔值)位置。这就是大多数行上的数据的方式

这就是我的开始:

import xlwt
import os

direct = r"home/myname/docs/data"
listoffiles = [os.listdir(direct)]

for d in listoffiles:
    name = direct+ '/' + /str(d)
    w = open(name)
    for lines in w:

    opt = [a.strip() for a in lines.split(' ')]

在插入csv或xls之前,我一直试图将每行这样放出来。 [“”,“”,“”,“”](第一行文件一),[“”,“”,“”,“”](第二行文件一),[“”,“”,“”, “”](第二行第三行),依此类推。

这是我到目前为止所拥有的。

在此问题上我会提供一些帮助。

1 个答案:

答案 0 :(得分:0)

您可以使用以下代码选择所有文件。然后,您只需读取文件并将数据提取到csv中即可。

您可以通过任意方式将sorted函数的键传递给文件名。

 import glob
 import csv
 import os

 csv_writer = csv.writer( open( "csv_output.csv", "w" ) )
 file_list  = []

 os.chdir("/home/myname/docs/data")
 for file in glob.glob("*"):
      file_list.append( file )

 file_list = sorted( file_list )

 for file in file_list:
      file_data = open( file, "r" ).read()
      row = [ file, file_data ]
      csv_writer.writerow( row )