Я выполняю некоторые строковые операции с данным набором вложенных списков, и я просто хочу создать один CSV после объединения этих списков в один фрейм данных.
У меня есть такая функция:
path = os.path.join(os.getcwd(),'C:\\.........')
files = [os.path.join(path,i) for i in os.listdir(path) if os.path.isfile(os.path.join(path,i))]
for file in files:
openfile = open(file,'r')
new_line = []
def separateState(l):
for line in l:
if any(x in line for x in ['NEW ENGLAND', 'MIDDLE ATLANTIC', 'E N CENTRAL', 'W N CENTRAL', 'SOUTH ATLANTIC', 'E S CENTRAL', 'W S CENTRAL', 'MOUNTAIN', 'PACIFIC']):
new_line.append(line.split())
separateState(openfile)
frames = list()
def join_words(n):
for listy in n:
grouper = groupby(listy, key=str.isalpha)
joins = [[' '.join(v)] if alpha_flag else list(v) for alpha_flag, v in grouper]
res = list(chain.from_iterable(joins))
df = pd.DataFrame(res)
frames.append(df)
df = pd.concat(frames)
df['Date'] = os.path.split(file)[-1]
df.to_csv('temp.csv', header = False)
print(frames)
join_words(new_line)
Но это выводит по одному фрейму данных на список, потому что он переопределяет предыдущий фрейм данных.
Как я могу манипулировать этим (я думаю, это простое исправление), чтобы я получил один фрейм данных и файл CSVвыход из этой функции?