在python中如何在csv中保存字符串列表而不使用撇号

2024-09-27 22:51:45 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想做的是用python将字符串列表保存到csv文件中的一个单元格中。 当我尝试使用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)

t is like this



+ 我解决了这个问题。 我将列表转换为字符串类型,并删除了撇号和其他。 你的建议是正确的,但我的问题是,这仍然不能转化。 所以我使用了另一个函数进行转换,它成功了! 以下是我在将来使用的一些代码,仅供参考。 \

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)

Tags: csvto字符串in列表fordatadate
2条回答

编辑:似乎我忘记了内容不是一个正常变量。它应该如下所示

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

在执行pd.to_csv('file.csv')之前,请尝试以下操作:

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

我建议使用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")

相关问题 更多 >

    热门问题