【问题标题】:Importing txt data into excel with python使用python将txt数据导入excel
【发布时间】:2019-12-02 16:15:59
【问题描述】:

我有一个 Data.txt,我想用 python 将它导入到已经存在的 Work.xlsx 文件中。 Data.txt 格式如下:

Data1 Data2 Data3
Data4 Data5 Data6

我希望 Data1 进入单元格 E1,Data2 到 F1,Data3 G1,Data4 E2,Data5 F2,Data6 G2,在名为“Plan”的工作表中 .txt 文件中的数据以空格分隔。

我对编程很陌生,我尝试了一些 openpyxl,但我不确定我是否应该这样做。

【问题讨论】:

  • 你说一个已经存在的文件。如果它已经有数据怎么办?单元格A1 中的数据应该替换为Data1?数据是否也总是进入第一个单元格?
  • 不,这只是一个例子,数据进入某个单元格,也进入某个工作表
  • 那么公式是什么?您如何决定哪些数据进入哪个单元格?
  • 我打算手动执行此操作,但想法是因为 .txt 有 4 列,每次我运行 python 时,excel 中的列都会向右移动 4 个单元格,例如,第一次是 A1 到 D1,第二次是 E1 到 H1

标签: python excel openpyxl


【解决方案1】:

为了将数据导入 Excel,我会让您的代码导出 CSV 文件而不是 txt 文件。 CSV 文件只是用逗号分隔的数据,因此如果您将 txt 文件导出为

数据1、数据2、数据3\n

数据4、数据5、数据6

然后您可以将其保存为 CSV 并将其导入您的 Work.xlsx

【讨论】:

  • 如果他无法控制该文件怎么办?
【解决方案2】:

以下应该可以工作,但如果您的源文件变得更复杂,您可能需要查看 csv 模块。

src = open("text", "r")
wb = load_workbook("existing.xlsx")
ws = wb.active

for line in src:
   values = line.split(" ")
   ws.append(values)

src.close()

【讨论】:

  • 当时正在考虑该选项,但此处缺少详细信息,因为 OP 表示已存在文件,但还将数据写入 A1、A2 等。 append 在最后添加行,所以如果文件已经有数据,那就有问题了
  • 是的文件已经有数据,我需要导入特定单元格和特定工作表中的值
猜你喜欢
  • 1970-01-01
  • 2017-09-30
  • 2018-04-01
  • 2018-02-22
  • 1970-01-01
  • 2020-06-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多