我有一个包含很多文件的文件夹(不仅仅是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之前,我一直试图将每行这样放出来。 [“”,“”,“”,“”](第一行文件一),[“”,“”,“”,“”](第二行文件一),[“”,“”,“”, “”](第二行第三行),依此类推。
这是我到目前为止所拥有的。
在此问题上我会提供一些帮助。
答案 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 )