Весь список Python не записывается в файл CSV - PullRequest
0 голосов
/ 11 июня 2019

У меня есть список Python как вывод из программы, которая содержит несколько списков внутри него.Я пытаюсь записать его в файл CSV, но пишется только первая часть.Список:

"['DELETE', 'FROM', 'abc', 'WHERE', ['c', '=', 'book']]\n- from: [['abc']]\n  [0]:\n    ['abc']\n- table: [['abc']]\n  [0]:\n    ['abc']\n- where_expr: ['c', '=', 'book']"

Я преобразовал список в словарь следующим образом:

   dict1={'delete': delete_list}
   df = pd.DataFrame(dict1, index=[0])

Мой вывод:

         delete
0         ['DELETE', 'FROM', 'abc', 'WHERE', ['c', '=', 'book']]

Я прочитал несколько похожих вопросов ипопробовал это .. Весь вывод записан в кадре данных, но я получаю по одному символу в каждой строке.

df2=pd.DataFrame([i for i in delete_list],columns=['Query'])
df2

Вывод:

      Query
   0    [
   1    '
   2    D
   3    E
   4    L
   5    E
   6    T

   .
   .

это продолжается ....

На самом деле я пытаюсь создать разные столбцы для каждого вложенного списка.Например, у 1-го столбца будет первый список , а у 2-го столбца будет список из: [['abc']]\n [0]:\n ['abc'] 3-й будет иметь таблицу: [['abc']] и т. Д. Также, как мне избавиться от \ n ??Газа () не работает!

1 Ответ

1 голос
/ 11 июня 2019

Если целью является запись в файл CSV, вам не нужно pandas, просто используйте модуль csv (в стандартной библиотеке):

import csv
with open('dump.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, delimiter=';', lineterminator='\n')
    writer.writerow([delete_list])

или, возможно,

import csv
with open('dump.csv', 'w', newline='') as csvfile:
    writer = csv.writer(csvfile, delimiter=';', lineterminator='\n')
    writer.writerow(delete_list.split("\n"))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...