#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. не могли бы вы поделиться релевантной частью кода, которая включает в себя создание списка строк. я устраню это со своей стороны.