【问题标题】:From list of list to file in Python从列表列表到 Python 中的文件
【发布时间】:2019-02-27 18:05:10
【问题描述】:

想象一组像APT=[[10.2,5,6],[9.2,-7,8],[5.75,1,2]] 这样的数据,我想导出为一个文件(我不在乎它是.txt.xslx 还是.csv),并带有一个标题['APT','WN','WE']

我希望文件形状良好(像

这样的表格

APT |西宁 |我们

10.2 | 5 | 6

9.2 | -7 | 8

5.75 | 1 | 2

我尝试过不同的东西,例如

with open("file.csv",'w') as f:
    wri= csv.writer(f)
    wri.writerow(["ATP","WN","WE"])
    for element in zip(*APT):
        wri.writerow(element)

还有来自Pandas 的函数to_excel,它们都没有按我的意愿工作。

知道怎么解决吗?

提前致谢

PS:抱歉,我不知道如何在 StackOverflow 中添加更好的表格

PS1:我已经阅读了How to export a list with different size from python to excel,但我没有得到正确的文件形状

【问题讨论】:

    标签: python database list


    【解决方案1】:

    Pandas 包有一个专门为您的任务设计的方法:to_csv()

    这是你的代码:

    # import module
    import pandas as pd
    # convert your data to DataFrame
    df= pd.DataFrame(APT)
    # name columns
    df.columns = ['APT','WN','WE']
    # save DataFrame as .csv
    df.to_csv('apt.csv')
    

    【讨论】:

      【解决方案2】:

      您可以为此使用pandas

      import pandas as pd
      
      df = pd.DataFrame(APT)
      df.columns = ['APT','WN','WE']
      

      这会给你:

      >>> df
           APT  WN  WE
      0  10.20   5   6
      1   9.20  -7   8
      2   5.75   1   2
      

      然后您可以使用内置函数to_csv() 将其导出到.csv,如下所示:

      df.to_csv('name_of_the_file', sep=';')
      

      【讨论】:

        【解决方案3】:

        这里也为您提供了一个非 Pandas 解决方案。您已经离最终解决方案不远了:

        with open("file.csv",'w') as f:
            wri= csv.writer(f, delimiter=';')
            wri.writerow(["ATP","WN","WE"])
            wri.writerows(APT)    # csv.writerows takes any iterable (your outer list) and goes through the iterables that it contains (the inner lists) and creates CSV lines from it.
        

        请查看Python CSV module documentation 了解更多 CSV 格式参数。这包括引号和分隔符的配置选项。

        这是您使用上述代码得到的输出文件:

        ATP;WN;WE
        10.2;5;6
        9.2;-7;8
        5.75;1;2
        

        使用不同的分隔符设置(例如,'\t'for 制表符)你甚至可以得到这样漂亮的表格:

        ATP WN  WE
        10.2    5   6
        9.2 -7  8
        5.75    1   2
        

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2012-05-04
          • 1970-01-01
          • 2022-01-11
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-08-06
          • 1970-01-01
          相关资源
          最近更新 更多