使用 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 二进制文件格式)写入输出