首页 > 解决方案 > 将数据从 Pandas 数据框中保存到 csv 文件中,并附加多个项目

问题描述

我有一个 lop 可以打开一个文本文件并将一些数据附加到一个列表然后我想将保存的数据(列表)转储到一个 csv 文件

my_list = []
with open(fname,'r') as f:
    for line in f:
        if 'text' in line:
            my_list.append(f"{line[2]},{line[10]},{line[5]}")

df = pd.DataFrame(my_list,columns=columns)

# save to csv
df.to_csv('my_file.csv')

问题是每一行都保存为一个字符串(当我在 excel 中打开文件时),如下所示:

0, "Red, Orange, Purple"
1, "Orange, Orange, Purple"
2, "White, Black, Purple"

我需要这样保存:

0, Red, Orange, Purple
1, Orange, Orange, Purple
2, White, Black, Purple

这样每种颜色都被分离到它自己的单元格中。

标签: python-3.x

解决方案


不要为此使用 f 字符串,而是使用tupleorlist

# tuple:
my_list.append((line[2], line[10], line[5]))

# or a list:
my_list.append([line[2], line[10], line[5]])

# instead of:
my_list.append(f"{line[2]},{line[10]},{line[5]}")

推荐阅读