python批量读取txt文件程序
时间: 2023-07-18 12:07:15 浏览: 51
以下是一个简单的Python程序,可以批量读取指定目录下的所有txt文件:
```python
import os
# 指定目录路径
dir_path = "/path/to/dir"
# 遍历目录
for filename in os.listdir(dir_path):
# 判断是否为txt文件
if filename.endswith(".txt"):
# 打开文件
with open(os.path.join(dir_path, filename), "r") as f:
# 读取文件内容
content = f.read()
# 处理文件内容
# ...
```
在上面这个程序中,我们使用了Python内置的`os`模块来遍历指定目录下的所有文件,并使用`with`语句来打开文件。通过判断文件名是否以`.txt`结尾来确定文件类型,并使用`os.path.join()`函数来获取文件的绝对路径。最后,我们可以在`with`语句块中读取文件内容,并进行相应的处理。
相关问题
python批量读取txt文件内部数据并导出到excel
以下是一个Python程序,可以批量读取txt文件内部数据并导出到Excel中:
```python
import os
import xlwt
# 定义一个函数,用于读取txt文件中的数据并返回一个列表
def read_data_from_txt(file_path):
with open(file_path, 'r') as f:
lines = f.readlines()
data_list = []
for line in lines:
data_list.append(line.strip().split())
return data_list
# 定义一个函数,用于将数据导出到Excel中
def export_to_excel(data_list, file_path):
workbook = xlwt.Workbook()
worksheet = workbook.add_sheet('Sheet1')
# 写入表头
for i, header in enumerate(['列1', '列2', '列3']):
worksheet.write(0, i, header)
# 写入数据
for i, data in enumerate(data_list):
for j, value in enumerate(data):
worksheet.write(i+1, j, value)
# 保存Excel文件
workbook.save(file_path)
# 主程序
if __name__ == '__main__':
# 定义txt文件所在目录和Excel文件名
txt_dir = './txt_files/'
excel_file = 'data.xlsx'
# 获取txt文件列表
txt_files = os.listdir(txt_dir)
# 定义一个空列表,用于存储所有的数据
all_data = []
# 遍历所有的txt文件,读取数据并添加到all_data列表中
for txt_file in txt_files:
file_path = os.path.join(txt_dir, txt_file)
data_list = read_data_from_txt(file_path)
all_data.extend(data_list)
# 将数据导出到Excel中
export_to_excel(all_data, excel_file)
print('数据已经成功导出到Excel文件 {} 中。'.format(excel_file))
```
在此程序中,我们首先定义了两个函数:`read_data_from_txt` 和 `export_to_excel`。`read_data_from_txt` 函数用于读取txt文件中的数据并返回一个列表,`export_to_excel` 函数用于将数据导出到Excel中。
然后,在主程序中,我们定义了txt文件所在目录和Excel文件名,并使用 `os.listdir` 函数获取txt文件列表。接着,我们遍历所有的txt文件,读取数据并添加到all_data列表中。最后,我们将all_data列表中的所有数据导出到Excel中。
请注意,这个程序使用了xlwt模块来写入Excel文件。如果你使用的是Python 3,你需要安装xlwt3模块,它是一个Python 3兼容的版本。
python批量读取txt写入excel不同列
以下是一个示例代码,可以实现批量读取多个txt文件,并将它们写入同一个Excel文件的不同列:
```python
import os
import xlwt
# 定义Excel文件名和sheet名
excel_file = 'data.xls'
sheet_name = 'data'
# 创建Excel工作簿和工作表
workbook = xlwt.Workbook(encoding='utf-8')
worksheet = workbook.add_sheet(sheet_name)
# 定义要读取的txt文件目录
txt_dir = '/path/to/txt/files'
# 获取所有txt文件名
txt_files = [f for f in os.listdir(txt_dir) if f.endswith('.txt')]
# 遍历所有txt文件
for i, txt_file in enumerate(txt_files):
# 打开txt文件并读取内容
with open(os.path.join(txt_dir, txt_file), 'r') as f:
content = f.read().strip()
# 将内容按行分割并写入Excel表格中
lines = content.split('\n')
for j, line in enumerate(lines):
worksheet.write(j, i, line)
# 保存Excel文件
workbook.save(excel_file)
```
这个示例代码将所有txt文件的内容按行分割,并将它们写入Excel表格的不同列中。每个txt文件都将写入Excel表格的一列,第一行为txt文件名,第二行及以后为txt文件内容的每一行。如果有多个txt文件,则会依次写入Excel表格的不同列中。最后,保存Excel文件并结束程序。