Как мне создать новый CSV-файл после слияния четырех в качестве кадра данных? - PullRequest
0 голосов
/ 03 марта 2019

Я пытаюсь объединить четыре csv и создать новый с этими данными: import pandas as pd Мой код:

df1 = pd.read_csv(r"a.csv")
df2 = pd.read_csv(r"b.csv")
df3 = pd.read_csv(r"c.csv")
df4 = pd.read_csv(r"d.csv")
finaldf = pd.concat([df1, df2, df3,df4])

print(finaldf.head())
finaldf.to_csv("Compiled_Project",encoding='utf-8')

Код работает без прерываний, однако вывод в пути неCSV-файл.это просто пустой файл с именем «Compiled_Project».Есть ли причина этой ошибки?

Ответы [ 2 ]

0 голосов
/ 03 марта 2019

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

$ echo -e "a,b,c\n1,2,3" > a.csv
$ echo -e "a,b,c\n4,5,6" > b.csv
$ echo -e "a,b,c\n7,8,9" > c.csv
$ echo -e "a,b,c\n10,11,12" > d.csv
$ python3
>>> import pandas as pd
>>> df1 = pd.read_csv(r"a.csv")
>>> df1
   a  b  c
0  1  2  3
>>> df2 = pd.read_csv(r"b.csv")
>>> df3 = pd.read_csv(r"c.csv")
>>> df4 = pd.read_csv(r"d.csv")
>>> finaldf = pd.concat([df1, df2, df3,df4])
>>> finaldf
    a   b   c
0   1   2   3
0   4   5   6
0   7   8   9
0  10  11  12
>>> finaldf.to_csv("Compiled_Project.csv",encoding='utf-8',index=False)
>>> exit()
$ cat Compiled_Project.csv 
a,b,c
1,2,3
4,5,6
7,8,9
10,11,12

Флаг index=false объясняется тем, что вы, вероятно, не хотите, чтобы метки строк (все нули) были в каждомстроки.

0 голосов
/ 03 марта 2019

Вы пытались открыть CSV с помощью панд?

Сразу же я заметил, что вы не включили .csv в имя файла.

Измените последнюю строку на:

finaldf.to_csv("Compiled_Project.csv",encoding='utf-8')
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...