Почему функция df.to_csv записывает файл в виде одной большой строки на строку в пандах - PullRequest
0 голосов
/ 08 декабря 2018

Я много искал, но не смог найти решение своей проблемы.Вот что я пытаюсь сделать:

  1. Считать несколько файлов txt (csv) в кадры данных и объединить их в один большой кадр данных.У них одинаковые столбцы!(без проблем)

  2. Теперь, когда я пытаюсь записать окончательный (конкатенированный) фрейм данных обратно в файл txt (csv), функция to_csv записывает содержимое для каждой строки в виде строк на строку.Мне нужно, чтобы он был как обычный CSV-файл, который разделен запятыми (но не содержится в строке на строку).

Что я делаю не так?Может быть неправильно использовать concat или append?

Мой код:

Чтение CSV-файлов в кадры данных и добавление их в список

dfs=[]

for f in filenames:

df = pd.read_csv(f,delimiter='\t',header=None)

dfs.append(df)

объединение их в окончательный кадр данных

dfs=pd.concat(dfs,axis=0)

Записьокончательный кадр данных в один текстовый файл (csv)

dfs.to_csv('merged.txt',header=None,index=False)

Вот проблема, первая строка файла merged.txt выглядит так (копирует только несколько значений из одной строки):

"131118091409,-400.198565,-0.018061"

Как я могу написать файл без двойных кавычек (строк) на строку?Спасибо за помощь.

1 Ответ

0 голосов
/ 08 декабря 2018

Вместо этого:

df = pd.read_csv (f, delimiter = '\ t', header = None)

Удалить разделитель = '\ t' или используйте это вместо:

df = pd.read_csv (f, delimiter = ',', header = None)

...