Объединение нескольких файлов .csv с использованием панд и сохранение первоначальной структуры - PullRequest
0 голосов
/ 23 мая 2018

У меня есть около 60 файлов .csv, которые я хотел бы объединить в пандах.До сих пор я использовал это:

import pandas as pd
import glob

total_files = glob.glob("something*.csv") 

data = [] 
for csv in total_files:
    list = pd.read_csv(csv, encoding="utf-8", sep='delimiter', engine='python')
    data.append(list)

biggerlist = pd.concat(data, ignore_index=True) 
biggerlist.to_csv("output.csv")

Это работает несколько, только файлы, которые я хотел бы объединить, имеют одинаковую структуру из 15 столбцов с одинаковыми заголовками.Когда я использую этот код, только один столбец заполняется информацией о всей строке, и каждое имя столбца представляет собой сложение всех имен столбцов (например, SEARCH_ROW, DATE, TEXT и т. Д.).

Как я могу объединить эти CSV-файлы, сохраняя при этом ту же структуру исходных файлов?

Редактировать:

Так что, возможно, я должен быть более конкретным в отношении своих данных,Это снимок одного из файлов .csv, которые я использую:

Как вы можете видеть, это просто данные газеты, где последний столбец - «ТЕКСТ», который не показанполностью, когда вы открываете файл.

Это часть того, как это выглядит, когда я объединил данные, используя мой код.

Помимо этого, я могучитать любые из этих файлов .csv без проблем, используя

data = pd.read_csv("something.csv",encoding="utf-8", sep='delimiter', engine='python')  

1 Ответ

0 голосов
/ 25 мая 2018

Я решил это!

Проблема заключалась в количестве запятой в текстовой части моих файлов .csv.Поэтому после удаления всех запятых (просто используя поиск / замену) я использовал:

import pandas
import glob

filenames = glob.glob("something*.csv")
df = pandas.DataFrame()
for filename in filenames:
df = df.append(pandas.read_csv(filename, encoding="utf-8", sep=";"))

Спасибо за помощь.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...