【问题标题】:Writing to Excel CSV with a for loop using Pandas使用 Pandas 使用 for 循环写入 Excel CSV
【发布时间】: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 更简单的方法,我也愿意接受。

【问题讨论】:

    标签: python excel csv pandas for-loop


    【解决方案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() 是一个数据帧方法。你遇到了什么错误?
    猜你喜欢
    • 2018-01-19
    • 2018-03-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-09-30
    • 1970-01-01
    • 2023-03-25
    • 2021-08-19
    相关资源
    最近更新 更多