python中怎么把两个txt文件按行合并到excel中,列不变
时间: 2024-05-05 16:22:25 浏览: 24
可以使用Python中的pandas库来处理文本文件和Excel文件,具体步骤如下:
1. 导入pandas库
```python
import pandas as pd
```
2. 读取txt文件
```python
with open('file1.txt', 'r') as f1:
lines1 = f1.readlines()
with open('file2.txt', 'r') as f2:
lines2 = f2.readlines()
```
3. 将两个列表合并成一个DataFrame
```python
df = pd.DataFrame({'col1': lines1, 'col2': lines2})
```
4. 将DataFrame写入Excel文件
```python
df.to_excel('output.xlsx', index=False)
```
完整代码如下:
```python
import pandas as pd
with open('file1.txt', 'r') as f1:
lines1 = f1.readlines()
with open('file2.txt', 'r') as f2:
lines2 = f2.readlines()
df = pd.DataFrame({'col1': lines1, 'col2': lines2})
df.to_excel('output.xlsx', index=False)
```
相关问题
Python中两个Excel列不同怎么合并
如果你有两个Excel文件,每个文件中有一个列不同,想要将它们合并成一个文件,可以使用Python中的pandas库来实现。下面是一个示例代码:
```python
import pandas as pd
# 读取第一个Excel文件
df1 = pd.read_excel('file1.xlsx')
# 读取第二个Excel文件
df2 = pd.read_excel('file2.xlsx')
# 合并两个DataFrame
merged_df = pd.concat([df1, df2], axis=1)
# 将合并后的数据保存为新的Excel文件
merged_df.to_excel('merged_file.xlsx', index=False)
```
在上述代码中,首先使用`pd.read_excel`函数读取第一个Excel文件和第二个Excel文件,并将它们分别存储在`df1`和`df2`变量中。然后,使用`pd.concat`函数将这两个DataFrame按列(axis=1)进行合并,得到一个合并后的DataFrame(`merged_df`)。最后,使用`to_excel`函数将合并后的数据保存为一个新的Excel文件。
请将代码中的"file1.xlsx"和"file2.xlsx"替换为你要合并的两个Excel文件的路径和名称,将"merged_file.xlsx"替换为你想要保存合并后数据的Excel文件的路径和名称。
需要注意的是,合并的两个Excel文件在行数上应该是对应的,否则可能会出现数据对不齐或丢失的情况。
python操作excel使两个文件中特定列中同名的单元格数据合并
以下是一个示例代码,可以实现将两个Excel文件中指定列中相同的单元格数据合并:
```python
import openpyxl
# 打开第一个Excel文件
wb1 = openpyxl.load_workbook('file1.xlsx')
sheet1 = wb1.active
# 打开第二个Excel文件
wb2 = openpyxl.load_workbook('file2.xlsx')
sheet2 = wb2.active
# 指定需要合并的列
merge_col = 'A'
# 获取第一个Excel文件中需要合并的列的数据
data1 = {}
for row in sheet1.iter_rows(min_row=2, values_only=True):
if row[0] not in data1:
data1[row[0]] = []
data1[row[0]].append(row[1])
# 获取第二个Excel文件中需要合并的列的数据
data2 = {}
for row in sheet2.iter_rows(min_row=2, values_only=True):
if row[0] not in data2:
data2[row[0]] = []
data2[row[0]].append(row[1])
# 在第一个Excel文件中添加新列,用于存放合并后的数据
sheet1.insert_cols(2)
# 将两个文件中相同的单元格数据合并到第一个Excel文件中
for key in data1:
if key in data2:
merged_data = list(set(data1[key] + data2[key]))
sheet1.cell(row=list(data1.keys()).index(key) + 2, column=2).value = ', '.join(merged_data)
# 保存修改后的Excel文件
wb1.save('merged_file.xlsx')
```
这段代码的逻辑是先分别读取两个Excel文件中指定列的数据,然后将它们合并到第一个Excel文件的新列中。具体实现细节详见注释。