写个python程序,读取多个txt文档中数据,放到一个excel中
时间: 2024-03-26 12:38:27 浏览: 141
好的,以下是一个简单的 Python 程序,可以读取多个 `.txt` 文档中的数据,并将它们放到一个 Excel 文件中:
```python
import os
import openpyxl
# 读取所有 .txt 文件的内容
file_dir = 'txt_files/'
txt_files = [f for f in os.listdir(file_dir) if f.endswith('.txt')]
data = []
for txt_file in txt_files:
with open(file_dir + txt_file, 'r') as f:
lines = f.readlines()
data.extend(lines)
# 将数据写入 Excel 文件
wb = openpyxl.Workbook()
ws = wb.active
for i, line in enumerate(data):
ws.cell(row=i+1, column=1, value=line.strip())
wb.save('data.xlsx')
```
这个程序会先读取 `txt_files` 目录下的所有 `.txt` 文件,将它们的内容存储在 `data` 列表中。然后,它会创建一个新的 Excel 文件,将 `data` 列表中的数据写入到第一列中,并将 Excel 文件保存为 `data.xlsx`。
相关问题
写个python程序,读取多个txt文档中数据,放到一个excel中同一个sheet不同列
以下是一个读取多个txt文档中数据的Python程序,并将其放到一个Excel文件中的同一工作表不同列中。假设所有txt文件中的数据都由逗号分隔,并且所有txt文件都包含相同的列数和行数。在本例中,我们使用了openpyxl库来创建和编辑Excel文件。
```
import glob
from openpyxl import Workbook
# 创建一个新的Excel文件
workbook = Workbook()
sheet = workbook.active
# 获取所有txt文件的路径并按名称排序
txt_files = sorted(glob.glob('*.txt'))
# 递归读取所有txt文件中的数据,按行和列写入Excel工作表
for i, file in enumerate(txt_files):
with open(file, 'r') as txt:
lines = txt.readlines()
for j, line in enumerate(lines):
data = line.strip().split(',')
for k, value in enumerate(data):
sheet.cell(row=j+1, column=k+i*len(data)+1, value=value)
# 将数据保存到Excel文件
workbook.save('output.xlsx')
```
在这个程序中,我们首先创建一个新的Excel文件并获取所有txt文件的路径。通过sorted()函数,我们按名称(字母顺序)对文件进行排序。
在我们的程序中,我们假设所有txt文件都包含相同的列数和行数。我们递归读取每个txt文件中的数据,并将其按照行和列写入Excel工作表的正确位置。
最后,我们将数据保存到Excel文件中并退出程序。 这个程序的输出是一个名为output.xlsx的Excel文件,它在同一工作表中包含所有txt文件中的数据,每个txt文件都有自己的一列。
用python写个脚本抓取多个txt文件中数字,放到一个excel中,每个txt文档内容放在同个sheet不同行
以下是一个基本的示例代码,可以实现抓取多个txt文件中数字,并将它们放入一个Excel文件中,每个txt文件的内容在同一工作表的不同行。
```python
import os
import re
import xlwt
# 设置路径和文件名
folder_path = 'path/to/txt/files'
excel_file = 'result.xls'
# 创建工作簿和工作表
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet('Numbers')
# 设置表头
row = 0
worksheet.write(row, 0, 'Filename')
worksheet.write(row, 1, 'Numbers')
row += 1
# 遍历文件夹中的txt文件
for filename in os.listdir(folder_path):
if filename.endswith('.txt'):
# 读取txt文件
with open(os.path.join(folder_path, filename), 'r') as f:
file_content = f.read()
# 从文件内容中抓取数字
numbers = re.findall(r'\d+', file_content)
# 将文件名和数字写入工作表
worksheet.write(row, 0, filename)
worksheet.write(row, 1, ','.join(numbers))
row += 1
# 保存Excel文件
workbook.save(excel_file)
print('Done.')
```
该脚本使用Python的os和re模块,通过遍历给定路径中的所有txt文件来抓取数字。它使用正则表达式匹配文件内容中的所有数字,并使用逗号将它们连接成一个字符串。然后,脚本将文件名和该字符串写入Excel文件的工作表中。
阅读全文