как сохранить список строк в csv без апострофа в python

#python #pandas #list #dataframe #csv

Вопрос:

поэтому я хочу сохранить список строк в ячейку в csv-файле на python. когда я пытаюсь сохранить это с помощью pd.to_csv('file.csv') вывода, это выглядит так:

 date,content
20, "['banana', 'apple',...]"
 

Я хочу сохранить список без апострофа, как это:

 date, content
20, "[banana, apple, ...]"
 

Любая помощь была бы благодарна.

вот несколько кодов, которые я использовал для создания списка.

 abstracts = []
for t in tdf_groupby_date:
    nested_list = t[1].to_list() # nested list
    flat_list = [item for sublist in nested_list for item in sublist] # flat list
    abstracts.append(flat_list)
 

т выглядит так

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

 def convert_list_to_str(data):
    data = str(data)
    data = data.replace("'",'')
    data = data.replace(' ','')
    data = data.replace('[','')
    data = data.replace(']','')
    
    return data

df['abstracts'] = df.abstracts.apply(convert_list_to_str)
 

Комментарии:

1. Вам нужно соединить подстроки.

Ответ №1:

Я предлагаю функцию замены строки из pandas:

 import pandas as pd

df = pd.DataFrame({"date": [20,], "content": ["['banana', 'apple']", ]})

df
   date              content
0    20  ['banana', 'apple']

df.content = df.content.str.replace("'", "")

df
   date          content
0    20  [banana, apple]

df.to_csv("file.csv")
 

Ответ №2:

Правка: похоже, я забыл, что содержимое не является обычной переменной. Это должно быть так, как показано ниже.

 df["content"] = str(df["content"]).replace("'","")
 

Попробуйте это сделать, прежде чем делать pd.to_csv(«файл.csv»):

 content = str(content).replace("'","")
 

Комментарии:

1. тогда все идет как по маслу.

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