【问题标题】:How to write a list with strings and DataFrames into an .txt file如何将带有字符串和 DataFrame 的列表写入 .txt 文件
【发布时间】:2020-11-30 15:25:53
【问题描述】:

我想将此列表写入 .txt 文件。我的问题是我无法添加 1801*20 矩阵的全部数据。

我尝试将列表转换为 pandas DataFrame 并将其写入 .txt。

dftistext = pd.DataFrame(tistext) 
   
dftistext.to_csv('test.txt', mode='a', header=False,index=None)

索引 0 字符串是正确的,但是您可以看到 DataFrame 没有完全显示。除此之外,我还想删除引号。

感谢您的帮助!

编辑: 现在又出现了一个问题。当我尝试使用fobj.write(e.to_string(header=False,index=None)+'\n') 将 pandas DataFrame 写入 .txt 文件时,每行之前都会添加一个空格。我尝试使用 split():fobj.write((((e.to_string(header=False,index=None)).lstrip()))+'\n') 删除它,但它仅适用于 1801 行的第一行和最后一行。你有什么建议吗?

【问题讨论】:

    标签: python pandas list dataframe export-to-csv


    【解决方案1】:

    我们假设您知道列表中有两种类型的元素:字符串和熊猫数据框。所以你必须识别这两种类型。

    with open('test.txt', 'w+') as fobj:
       for e in Liste:
          if isinstance(e, str):
            fobj.write(e + '\n')
          else:
            # The other type -- DataFrame
            fobj.write(e.to_string(header=False,index=None)+'\n')
    

    【讨论】:

      【解决方案2】:

      你的问题有点不清楚,但这里有一些方法可以打印整个Dataframe

      with pd.option_context('display.max_rows', None, 'display.max_columns', None):  
          print(dftistext)
      

      您还可以将 Dataframe 提取为 dict 并“漂亮地打印”它:

      from pprint import pprint
      pprint(dftistext.to_dict())
      

      您可以从那里解析并提取您需要的任何内容到您的 .txt 文件中

      【讨论】:

        猜你喜欢
        • 2014-05-02
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2018-07-24
        • 1970-01-01
        • 2022-01-10
        • 2021-10-27
        相关资源
        最近更新 更多