【发布时间】:2018-04-10 11:18:47
【问题描述】:
我有一个包含多个文件的文件夹,每个文件中每个文件的列数都不同。我想浏览目录,打开每个文件并循环遍历每一行,根据该行中的列数将该行写入一个新的 CSV 文件。我想为所有 14 列的行创建一个大 CSV,为所有 18 列的行创建另一个大 CSV,最后一个 CSV 包含所有其他列。
这是我目前所拥有的。
import pandas as pd
import glob
import os
import csv
path = r'C:\Users\Vladimir\Documents\projects\ETLassig\W3SVC2'
all_files = glob.glob(os.path.join(path, "*.log"))
for file in all_files:
for line in file:
if len(line.split()) == 14:
with open('c14.csv', 'wb') as csvfile:
csvwriter = csv.writer(csvfile, delimiter=' ')
csvwriter.writerow([line])
elif len(line.split()) == 18:
with open('c14.csv', 'wb') as csvfile:
csvwriter = csv.writer(csvfile, delimiter=' ')
csvwriter.writerow([line])
#open 18.csv
else:
with open('misc.csv', 'wb') as csvfile:
csvwriter = csv.writer(csvfile, delimiter=' ')
csvwriter.writerow([line])
print(c14.csv)
任何人都可以就如何解决这个问题提供任何反馈吗?
【问题讨论】: