Преобразование словаря, который присутствует внутри двух списков, в csv

#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. Яйца на моем лице!!! это еще не заставило меня так просто!! большое спасибо, приятель