@echo off set "outputFile1=C:\新建文件夹\merged1.txt" set "outputFile2=C:\新建文件夹\merged2.txt" for /r "C:\新建文件夹" %%F in (*oracle*.txt) do ( type "%%F" >> "%outputFile1%" ) ^ for /r "C:\新建文件夹" %%F in (*hive*.txt) do ( type "%%F" >> "%outputFile2%" )
时间: 2023-07-17 09:56:32 浏览: 44
这段代码是一个批处理脚本,用于合并指定文件夹下所有包含"oracle"和"hive"关键字的.txt文件到两个不同的输出文件中。
首先,定义了两个输出文件的路径:`outputFile1`和`outputFile2`。接下来,使用两个循环来遍历指定文件夹("C:\新建文件夹")及其子文件夹下的所有文件。
第一个循环使用通配符`*oracle*.txt`匹配文件名包含"oracle"且以".txt"结尾的文件,并将其内容追加到`outputFile1`中。
第二个循环使用通配符`*hive*.txt`匹配文件名包含"hive"且以".txt"结尾的文件,并将其内容追加到`outputFile2`中。
换句话说,这段代码将符合条件的文件内容合并到两个不同的输出文件中。你可以根据实际需求修改输出文件的路径和关键字匹配的规则。
相关问题
该程序用的界面显示数据无法显示请修改: import pandas as pd import PySimpleGUI as sg # 定义窗口布局 layout = [ [sg.Text('选择第一个表格文件:', size=(20, 1)), sg.Input(key='file1'), sg.FileBrowse()], [sg.Text('选择第二个表格文件:', size=(20, 1)), sg.Input(key='file2'), sg.FileBrowse()], [sg.Button('查找相同时间段数据', justification='center')], [sg.Output(size=(80, 20), font=("Adobe 宋体 Std L", 10)),sg.Combo(['Method 1', 'Method 2'])], [sg.Table(values=[], headings=[], key='table3')], [sg.Button('保存数据')] ] # 创建窗 window = sg.Window('查找相同时间段数据', layout) # 当窗口打开时执行的代码 while True: event, values = window.read() if event == sg.WINDOW_CLOSED: break elif event == '查找相同时间段数据': # 获取用户选择的文件路径 file1 = values['file1'] file2 = values['file2'] # 读取两个表格的数据 df1 = pd.read_csv(file1) df2 = pd.read_csv(file2) # 按照时间段合并两个 DataFrame 对象 merged_df = pd.merge(df1, df2, on='Time') # 将合并后的数据显示在表格中 headings = merged_df.columns.tolist() values = merged_df.values.tolist() window['table3'].update(values=values) elif event == '保存数据': # 获取当前显示的数据 table_values = window['table3'].get() # 将数据保存到新的表格中 save_file = sg.popup_get_file('保存文件', save_as=True, default_extension='.csv') if save_file: save_df = pd.DataFrame(table_values[1:], columns=table_values[0]) save_df.to_excel(save_file, index=False) sg.popup('保存成功!')
可以尝试将代码中的 `sg.Table` 改为 `sg.Table(values=[], headings=[], key='table3', enable_events=True, bind_return_key=True)`,并添加一个响应事件的代码块,如下所示:
```
while True:
event, values = window.read()
if event == sg.WINDOW_CLOSED:
break
elif event == '查找相同时间段数据':
# 获取用户选择的文件路径
file1 = values['file1']
file2 = values['file2']
# 读取两个表格的数据
df1 = pd.read_csv(file1)
df2 = pd.read_csv(file2)
# 按照时间段合并两个 DataFrame 对象
merged_df = pd.merge(df1, df2, on='Time')
# 将合并后的数据显示在表格中
headings = merged_df.columns.tolist()
values = merged_df.values.tolist()
window['table3'].update(values=values, headings=headings)
elif event == 'table3':
selected_row = values['table3'][0]
sg.popup(f'您选择的行是:{selected_row}')
elif event == '保存数据':
# 获取当前显示的数据
table_values = window['table3'].get()
# 将数据保存到新的表格中
save_file = sg.popup_get_file('保存文件', save_as=True, default_extension='.csv')
if save_file:
save_df = pd.DataFrame(table_values[1:], columns=table_values[0])
save_df.to_excel(save_file, index=False)
sg.popup('保存成功!')
```
这样就可以让用户选择表格中的某一行,并弹出一个提示框显示选择的行号。同时,表格的 `headings` 参数也需要设置为 DataFrame 的列名,这样表格的列名才能正确显示。
path = 'D:/SMT本部出勤' excel_dir = path excel_paths = [os.path.join(excel_dir, f) for f in os.listdir(excel_dir) if f.endswith('.xls')] dfs = [] for excel_path in excel_paths: df = pd.read_excel(excel_path, engine='openpyxl') df = df.replace({'<a href=': '', '</a>': ''}, regex=True) # 去除超链接标签 dfs.append(df) merged_df = pd.concat(dfs) output_path = r"D:\SMT本部出勤匯總\熱資料.xlsx" merged_df.to_excel(output_path, index=False),zipfile.BadZipFile: File is not a zip file報這個
这个错误提示 `zipfile.BadZipFile: File is not a zip file` 表示在读取Excel文件时,遇到了一个不是ZIP格式的文件。
根据你提供的代码,这个错误可能是由于以下几个原因之一引起的:
1. `excel_paths` 列表中包含非Excel文件:请确保 `excel_dir` 目录下只包含有效的Excel文件(以 `.xls` 或 `.xlsx` 结尾)。
2. `excel_paths` 列表中包含损坏的ZIP文件:在读取Excel文件时,`pandas` 库使用 `openpyxl` 引擎来处理文件。如果 `excel_paths` 列表中的某个文件实际上是一个损坏的ZIP文件,就会引发这个错误。
建议你检查 `excel_dir` 目录下的文件,并确保只包含有效的Excel文件。如果有任何损坏的ZIP文件,请删除它们或修复它们。确认后,再次运行代码应该可以成功合并Excel文件并保存到指定的输出路径中。
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)