#python #python-3.x #list #dictionary
#питон #python-3.x #Список #словарь
Вопрос:
Мои результаты находятся внутри двух списков. Как я могу легко преобразовать их в формат CSV?
fin= [[ {'name':'value','age':'value','addr':'value'},
{'name':'value','age':'value','addr':'value'},
{'name':'value','age':'value','addr':'value'}
]]
res_csv= pd.DataFrame(fin)
res_csv.to_csv(file.csv)
when i do this, the whole data is getting skewed inside a single line.
Am i doing something incorrect here? Seeking help from the Dev community
Ответ №1:
Зачем использовать такой тяжелый инструмент, как pandas, для простого csv:
import csv
with open("file.csv", "w") as f:
w = csv.DictWriter(f, fieldnames=fin[0][0].keys())
w.writerows(fin[0])
Комментарии:
1. Спасибо, приятель!! Я высоко ценю ваши усилия 🙂 .. Благослови Бог
2. я чувствую, что pandas гораздо удобнее обрабатывать. Вы можете избежать зацикливания и подобных материалов.
3. Я чувствую тебя. Если у вас уже есть Pandas в качестве зависимости для анализа данных, используйте его. Но, пожалуйста, никогда не устанавливайте Pandas исключительно для обработки csv =) Также в этом коде нет цикла.
4. каковы ваши доводы в пользу того, чтобы избегать панд для основной цели записи файлов? Я использую pandas pretty для упрощения записи файлов и материалов. Есть ли у panda какие-либо накладные расходы на общую производительность кода или что-то еще?
Ответ №2:
Это вложенный список, но только с одним элементом — списком, который вам нужно загрузить в ваш фрейм данных. Таким образом, вы можете просто загрузить этот список, загрузив первый (и единственный) элемент этого списка fin[0]
.
fin= [[ {'name':'value','age':'value','addr':'value'},
{'name':'value','age':'value','addr':'value'},
{'name':'value','age':'value','addr':'value'}
]]
res_csv= pd.DataFrame(fin[0])
res_csv.to_csv('file.csv')
Комментарии:
1. Яйца на моем лице!!! это еще не заставило меня так просто!! большое спасибо, приятель