使用 Pandas 使用 for 循环写入 Excel CSV

Posted

技术标签:

【中文标题】使用 Pandas 使用 for 循环写入 Excel CSV【英文标题】:Writing to Excel CSV with a for loop using Pandas 【发布时间】:2017-11-21 00:40:27 【问题描述】:

我有一个 Python 列表

numbers_list = [(2,5), (3,4), (2,6), (3,5)...] 

我想将列表复制到名为 NumberPairings 的 Excel CSV,但我希望每个组合位于不同的行中,并且该行中的每个数字位于不同的列中。

所以我希望 excel 文件看起来像这样:

 Num1  Num2
 2       5
 3       4
 2       6
 3       5 

我想我应该使用一个以 对于 numbers_list 中的项目:

但我需要帮助才能使用 Pandas 以我想要的方式写入文件。如果您认为有比 Pandas 更简单的方法,我也愿意接受。

【问题讨论】:

【参考方案1】:

您可以像这样将元组分成单独的列:

df = pd.DataFrame(data='tuples': numbers_list)
df
   tuples
0  (2, 5)
1  (3, 4)
2  (2, 6)
3  (3, 5)

df['Num1'] = df['tuples'].str[0]
df['Num2'] = df['tuples'].str[1]
df
   tuples  Num1  Num2
0  (2, 5)     2     5
1  (3, 4)     3     4
2  (2, 6)     2     6
3  (3, 5)     3     5

# optional create csv
df.drop(['tuples'], axis=1).to_csv(path)

【讨论】:

非常感谢。你建议用哪种方法将它逐行写入excel文件? @memokerobi 如果您将有效路径传递给.to_csv(),它将输出整个数据帧。不需要循环。 我不能将 to_csv() 与 drop() 一起使用。你知道为什么会这样吗? 它应该可以正常工作,因为.drop() 返回一个数据帧,to_csv() 是一个数据帧方法。你遇到了什么错误?

以上是关于使用 Pandas 使用 for 循环写入 Excel CSV的主要内容,如果未能解决你的问题,请参考以下文章

使用 pandas 在 python 中将值写入 excel

使用 pandas 和 pyxlsb 以 xlsb 文件格式(Excel 二进制文件格式)写入输出

将 for 循环中的多个打印输出值存储到列表或变量中

使用 For 循环修改 Pandas 中的 DataFrame 字典

删除 for 循环 - 使用字典而不是 pandas

Pandas for 在组上循环