【问题标题】:How to convert data from txt files to Excel files using python如何使用python将数据从txt文件转换为Excel文件
【发布时间】:2019-01-20 13:35:44
【问题描述】:

我有一个包含this 之类的数据的文本文件。这只是一个小例子,但真实的非常相似。

我想知道如何使用 Python 在像 this 这样的“Excel 表”中显示这些数据?

【问题讨论】:

标签: python pandas


【解决方案1】:

pandas 库非常适合读取 csv 文件(即您链接的图像中的文件内容)。您可以使用pandas library 读取 csv 或 txt 文件,并以 3 行简单的方式将其输出到 excel。

import pandas as pd

df = pd.read_csv('input.csv') # if your file is comma separated

或者如果您的文件是制表符分隔的'\t':

df = pd.read_csv('input.csv', sep='\t')

要保存到 excel 文件添加以下内容:

df.to_excel('output.xlsx', 'Sheet1')

完整代码:

import pandas as pd
df = pd.read_csv('input.csv') # can replace with df = pd.read_table('input.txt') for '\t'
df.to_excel('output.xlsx', 'Sheet1')

这将显式保留索引,因此如果您的输入文件是:

A,B,C
1,2,3
4,5,6
7,8,9

您的输出 excel 将如下所示:

您可以看到您的数据已移动一列,并且您的索引轴已保留。如果你不想要这个索引列(因为你没有为你的 df 分配一个索引,所以它有 pandas 提供的任意索引):

df.to_excel('output.xlsx', 'Sheet1', index=False)

您的输出将如下所示:

在这里您可以看到索引已从 excel 文件中删除。

【讨论】:

  • 感谢您提供的知识。在输出文件中,这些值似乎不是数字,(Excel 提供了一个选项,我单击了单元格“转换为数字”)。有什么解决办法吗?
  • 就我而言,即使我在文本文件中添加了逗号,它也会在一列中打印所有数据。
  • @d_kennetz 我的值以 0,0,0.0,0.0 和 1,1,1.0,1.0 等方式存储在我的文本文件中。
  • 什么是Sheet1
  • @zixuan 您的工作表名称。随心所欲。
【解决方案2】:

你不需要蟒蛇!只需将您的文本文件重命名为 CSV 并瞧,您将获得所需的输出 :)

如果你想使用 python 重命名,那么 - 你可以使用 os.rename 函数

os.rename(src, dst)

其中 src 是源文件,dst 是目标文件

【讨论】:

  • 此解决方案具有误导性。至少就实际问题而言。这不是文件转换。这是 Excel 的“提示”,可以打开文本文件。
  • 不幸的是,这么多网站 使用它作为拐杖。最困扰我的是 PayPal - 巨大的公司,他们似乎懒得提供真正的 Excel 文件而不是 CSV。
【解决方案3】:

保存为:

df.to_excel("testfile.xlsx")

【讨论】:

  • 看起来这需要一个外部库(熊猫?) - 您需要在答案中指定它,因为 to_excel 不是标准 Python 函数。
  • 你说的太对了。 d_kennetz 扩展了他的回复。所以这个已经过时了。
【解决方案4】:

XLWT

我使用XLWT 库。它生成原生 Excel 文件,这比简单地将文本文件导入为 CSV 文件要好得多。这有点工作,但提供了大多数关键的 Excel 功能,包括设置列宽、单元格颜色、单元格格式等。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-29
    • 2022-01-23
    • 1970-01-01
    相关资源
    最近更新 更多