Экспорт DataFrame в CSV с помощью "" - PullRequest
0 голосов
/ 01 декабря 2018

Я пытаюсь экспортировать DataFrame в файл csv с Python 3, используя следующий код:

import pandas as pds    
oee_2016 = pds.DataFrame({'"title"':['"OEE"', '"Qual"', '"Perf"', '"Disp"'],
                          '"subtitle"':['"%"', '"%"', '"%"', '"%"'],
                          '"ranges__001"':['"40"', '"75"', '"75"', '"75"'],
                          '"ranges__002"':['"60"', '"85"', '"85"', '"85"'],
                          '"ranges__003"':['"100"', '"100"', '"100"', '"100"'],
                          '"measures__001"':['"12"', '"34"', '"56"', '"78"'],
                          '"measures__002"':['"0"', '"0"', '"0"', '"0"'],
                          '"markers__-"':['"85"', '"95"', '"95"', '"95"']
                         })
oee_2016.to_csv('oee_2016.csv', index=False)

, и в результате получается:

"" "title" "» "" "субтитры" "" "" "ranges__001" "" "" "ranges__002" "" "" "ranges__003" "" "" "measures__001" "" "" "measures__002" "","" "маркеры __-" "" "" OEE "" "," ""% "" "," "" 40 "" "," "" 60 "" "," "100" "", """12" "", "" 0 "" "," "85" "" "" "Qual" "", "" "%" "", "" 75 "" "," "85""", "" 100 "" "," "34" "", "" 0 "" "," "95" "" "" Perf "" "," "%" "","" "75" "", "" 85 "" "," "100" "", "" 56 "" "," "" 0 "" "," "95" "" "" "Disp ""» "" "%" "" "" "75" "" "" "85" "" "" "100" "" "" "78" "", "" "0""", "" 95 "" "

но я бы хотел только один" не "" ", например:" OEE ", а не" "" OEE "" ".

Кто-нибудь знает, что происходит?Как кодировать коррет?

1 Ответ

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

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

Это, вероятно, не то, что вы намеревались сделать.Лучше не иметь кавычек в объекте DataFrame, и пусть метод to_csv вставит их (только один раз) в выходной файл:

import pandas as pds    
oee_2016 = pds.DataFrame({'title':['OEE', 'Qual', 'Perf', 'Disp'],
                          'subtitle':['%', '%', '%', '%'],
                          'ranges__001':['40', '75', '75', '75'],
                          'ranges__002':['60', '85', '85', '85'],
                          'ranges__003':['100', '100', '100', '100'],
                          'measures__001':['12', '34', '56', '78'],
                          'measures__002':['0', '0', '0', '0'],
                          'markers__-':['85', '95', '95', '95']
                         })
oee_2016.to_csv('oee_2016.csv', index=False, quoting=1)

Обратите внимание на дополнительный аргумент quoting=1 для to_csv метод.

...