我需要寫入的表名稱不是在每個内容的最後面,我需要卸載每個内容相應加載每行後面import os import shutil from datetime import date src_folder = r"Y:\iplas\Robot_Log\SMT" dst_folder = r"D:\測試log" today = date.today() # create target folder if it does not exist if not os.path.exists(dst_folder): os.makedirs(dst_folder) # copy files and rename for file_name in os.listdir(src_folder): if file_name.endswith('.txt'): file_path = os.path.join(src_folder, file_name) if date.fromtimestamp(os.path.getmtime(file_path)) == today: new_file_name = f"{file_name[:-4]}_{today.strftime('%Y%m%d')}.txt" shutil.copy(file_path, os.path.join(dst_folder, new_file_name)) # write file contents with corresponding file names file_contents = [] for file_name in os.listdir(dst_folder): if file_name.endswith('.txt'): try: with open(os.path.join(dst_folder, file_name), 'r', encoding='gbk') as t: file_content = t.read().strip() file_contents.append(f"{file_content},{file_name}") except Exception as e: print(f"Error reading file {file_name}: {e}") with open(os.path.join(dst_folder, '汇总文档.txt'), 'w', encoding='gbk') as f: f.write('\n'.join(file_contents))
时间: 2023-12-12 09:04:04 浏览: 74
如果你需要在每行后面添加表名,可以将以下代码插入到第一个for循环的内部:
```python
table_name = "your_table_name"
file_contents.append(f"{file_content},{file_name},{table_name}")
```
其中,"your_table_name" 是你需要插入的表名。这样,每个文件内容都将以"文件内容,文件名,表名"的格式写入到"汇总文档.txt"中。
相关问题
import pandas as pd import os import shutil import time from openpyxl import load_workbook import logging
好的,这段代码是用Python编写的一些常用库的导入语句,它们分别是:
1. `pandas`:一个强大的数据处理库,常用于数据分析和操作大型表格(DataFrame)。
2. `os`:操作系统模块,提供文件和目录操作的功能,如读取、写入文件路径,以及处理文件和目录结构。
3. `shutil`:高级文件和文件夹操作模块,支持复制、移动、删除等文件系统操作。
4. `time`:时间处理模块,可以获取当前时间、睡眠等待等,对于定时任务很有帮助。
5. `openpyxl`:一个用于读写Excel .xlsx/xlsm文件的库,主要用于处理电子表格数据。
6. `logging`:日志记录模块,用于创建和管理程序运行过程中的详细信息记录,有助于调试和错误追踪。
这段代码通常会在需要读取Excel数据并进行一些文件操作,同时需要记录日志的场景下使用。例如,可能会加载一个Excel文件到pandas DataFrame,然后对数据进行处理,期间通过`logging`记录关键步骤的信息。
python如何合并文件夹中所有txt并在txt内容中每一行前加上txt名字
可以使用Python中的os和shutil模块来实现。具体步骤如下:
1. 遍历文件夹中所有txt文件,获取它们的文件名和路径。
2. 创建一个新的txt文件,用于保存合并后的结果。
3. 循环遍历每个txt文件,读取其内容,并在每一行前加上文件名。
4. 将加上文件名的内容写入新的txt文件中。
代码实现如下:
```python
import os
import shutil
# 遍历文件夹中所有txt文件
def get_txt_files(path):
txt_files = []
for root, dirs, files in os.walk(path):
for file in files:
if file.endswith('.txt'):
txt_files.append(os.path.join(root, file))
return txt_files
# 合并txt文件并在每行前加上文件名
def merge_txt_files(txt_files, output_file):
with open(output_file, 'w', encoding='utf-8') as f:
for file in txt_files:
with open(file, 'r', encoding='utf-8') as tf:
for line in tf:
f.write(os.path.basename(file) + ' ' + line)
# 测试
if __name__ == '__main__':
path = 'your_folder_path'
output_file = 'merged.txt'
txt_files = get_txt_files(path)
merge_txt_files(txt_files, output_file)
```
其中,将`your_folder_path`替换为要合并的文件夹路径即可。执行代码后,会在相同路径下生成一个名为`merged.txt`的文件,里面包含了所有txt文件的内容,并在每一行前加上了文件名。
阅读全文