python不用Pandas 库读取500个excel文件第二列合并到一个excel文件中
时间: 2023-07-16 08:15:56 浏览: 104
可以使用Python内置的openpyxl库来读取和写入Excel文件,下面是一个示例代码:
```python
import openpyxl
# 创建新的Excel文件
merged_wb = openpyxl.Workbook()
merged_ws = merged_wb.active
# 遍历所有Excel文件
for i in range(1, 501):
filename = f"file_{i}.xlsx"
wb = openpyxl.load_workbook(filename)
ws = wb.active
# 将第二列数据写入到新的Excel文件中
for cell in ws["B"]:
merged_ws.append([cell.value])
# 保存新的Excel文件
merged_wb.save("merged_file.xlsx")
```
这个代码会读取当前目录下的所有名为`file_1.xlsx`到`file_500.xlsx`的Excel文件,并将这些文件的第二列数据合并到一个新的Excel文件中,新文件名为`merged_file.xlsx`。
相关问题
python不用库读取500个excel文件第二列合并到一个excel文件中
可以使用Python的pandas库来实现读取多个Excel文件并合并第二列的操作。具体步骤如下:
1. 导入pandas库:`import pandas as pd`
2. 使用pandas的`concat()`函数将多个Excel文件的第二列合并成一个DataFrame:
```python
df_list = [] # 存储所有Excel文件的第二列
for i in range(1, 501): # 读取500个Excel文件
file_name = f"file_{i}.xlsx" # Excel文件名
df = pd.read_excel(file_name, usecols=[1]) # 读取第二列
df_list.append(df)
merged_df = pd.concat(df_list, axis=0) # 按行合并DataFrame
```
3. 将合并后的DataFrame写入新的Excel文件中:
```python
merged_df.to_excel("merged_file.xlsx", index=False, header=None) # 不写入行列索引和表头
```
完整代码如下:
```python
import pandas as pd
df_list = [] # 存储所有Excel文件的第二列
for i in range(1, 501): # 读取500个Excel文件
file_name = f"file_{i}.xlsx" # Excel文件名
df = pd.read_excel(file_name, usecols=[1]) # 读取第二列
df_list.append(df)
merged_df = pd.concat(df_list, axis=0) # 按行合并DataFrame
merged_df.to_excel("merged_file.xlsx", index=False, header=None) # 不写入行列索引和表头
```
用Python的pandas库读取Excel的偶数列数据并合并成一个序列打印出来
以下是使用Python的pandas库读取Excel的偶数列数据并合并成一个序列打印出来的代码:
```python
import pandas as pd
# 读取Excel文件
df = pd.read_excel('your_excel_file.xlsx')
# 获取偶数列
even_cols = df.iloc[:, ::2]
# 合并成一个序列
merged_series = pd.concat([even_cols[col] for col in even_cols], ignore_index=True)
# 打印合并后的序列
print(merged_series)
```
说明:
1. 需要先安装pandas库,使用命令`pip install pandas`进行安装。
2. `df = pd.read_excel('your_excel_file.xlsx')` 读取你的Excel文件,将数据存储在一个pandas DataFrame中。
3. `even_cols = df.iloc[:, ::2]` 获取偶数列。pandas DataFrame对象的`iloc`属性可以根据行列索引号来访问元素,`::2`表示从第0列开始,间隔为2,即取偶数列。
4. `pd.concat([even_cols[col] for col in even_cols], ignore_index=True)` 将偶数列合并成一个序列。pandas的`concat`函数可以将多个DataFrame或Series合并成一个对象,我们将所有偶数列先存储为一个列表,然后再调用`concat`函数进行合并,`ignore_index=True`表示最终结果中不保留原来的行索引号,生成一个新的连续的索引号。
5. `print(merged_series)` 打印合并后的序列。
阅读全文