Python读取excel
时间: 2023-07-07 11:11:03 浏览: 60
可以使用Python中的第三方库openpyxl来读取excel文件,下面是一个简单的示例代码:
```python
import openpyxl
# 打开excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 选择一个工作表
sheet = wb['Sheet1']
# 读取单元格的值
cell_value = sheet['A1'].value
# 遍历一列中的所有单元格
for cell in sheet['A']:
print(cell.value)
```
这个示例代码打开名为`example.xlsx`的excel文件,并选择`Sheet1`工作表。然后读取`A1`单元格中的值,并遍历`A`列中的所有单元格并打印它们的值。你可以根据需要修改代码以读取你需要的单元格或列。
相关问题
python读写excel
Python有多个库可以读写Excel文件,其中比较常用的有:
1. openpyxl:一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。
2. xlrd/xlwt:用于读写Excel 97-2003 .xls文件的Python库。
3. pandas:pandas库可以读取和写入多种文件格式,包括Excel文件。
下面分别介绍使用这三个库的方法:
### 1. 使用openpyxl
安装openpyxl库:
```
pip install openpyxl
```
读取Excel文件:
```python
from openpyxl import load_workbook
# 打开Excel文件
wb = load_workbook(filename='example.xlsx', read_only=True)
# 选择工作表
ws = wb['Sheet1']
# 读取单元格数据
cell_value = ws.cell(row=1, column=1).value
print(cell_value)
# 遍历行
for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
for cell in row:
print(cell.value)
# 遍历列
for col in ws.iter_cols(min_row=1, max_col=3, max_row=2):
for cell in col:
print(cell.value)
# 读取整个工作表的数据,返回一个嵌套列表
data = []
for row in ws.iter_rows(min_row=1):
row_data = []
for cell in row:
row_data.append(cell.value)
data.append(row_data)
print(data)
```
写入Excel文件:
```python
from openpyxl import Workbook
# 创建Excel文件
wb = Workbook()
# 选择工作表
ws = wb.active
# 写入单元格数据
ws['A1'] = 'Hello'
ws.cell(row=1, column=2, value='World')
# 写入多行数据
data = [['Name', 'Age', 'Gender'], ['Tom', 18, 'Male'], ['Lucy', 20, 'Female']]
for row in data:
ws.append(row)
# 保存Excel文件
wb.save('example.xlsx')
```
### 2. 使用xlrd/xlwt
安装xlrd和xlwt库:
```
pip install xlrd
pip install xlwt
```
读取Excel文件:
```python
import xlrd
# 打开Excel文件
wb = xlrd.open_workbook('example.xls')
# 选择工作表
ws = wb.sheet_by_name('Sheet1')
# 读取单元格数据
cell_value = ws.cell_value(0, 0)
print(cell_value)
# 遍历行
for row in range(ws.nrows):
for col in range(ws.ncols):
cell_value = ws.cell_value(row, col)
print(cell_value)
# 读取整个工作表的数据,返回一个嵌套列表
data = []
for row in range(ws.nrows):
row_data = []
for col in range(ws.ncols):
cell_value = ws.cell_value(row, col)
row_data.append(cell_value)
data.append(row_data)
print(data)
```
写入Excel文件:
```python
import xlwt
# 创建Excel文件
wb = xlwt.Workbook()
# 选择工作表
ws = wb.add_sheet('Sheet1')
# 写入单元格数据
ws.write(0, 0, 'Hello')
ws.write(0, 1, 'World')
# 写入多行数据
data = [['Name', 'Age', 'Gender'], ['Tom', 18, 'Male'], ['Lucy', 20, 'Female']]
for row, row_data in enumerate(data):
for col, cell_value in enumerate(row_data):
ws.write(row+1, col, cell_value)
# 保存Excel文件
wb.save('example.xls')
```
### 3. 使用pandas
安装pandas库:
```
pip install pandas
```
读取Excel文件:
```python
import pandas as pd
# 读取Excel文件
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')
# 读取单元格数据
cell_value = df.iloc[0, 0]
print(cell_value)
# 遍历行
for index, row in df.iterrows():
print(row['Name'], row['Age'], row['Gender'])
# 读取整个工作表的数据,返回一个DataFrame对象
data = df.values.tolist()
print(data)
```
写入Excel文件:
```python
import pandas as pd
# 创建DataFrame对象
df = pd.DataFrame({'Name': ['Tom', 'Lucy'], 'Age': [18, 20], 'Gender': ['Male', 'Female']})
# 写入Excel文件
df.to_excel('example.xlsx', sheet_name='Sheet1', index=False)
```
以上是使用Python读写Excel的常用方法,可以根据实际需求选择不同的库和方法。
python读写Excel
Python有多个库可以读写Excel文件,其中比较常用的有:
1. openpyxl:一个用于读写Excel 2010 xlsx/xlsm/xltx/xltm文件的Python库。
2. xlrd/xlwt:用于读写Excel 97-2003 .xls文件的Python库。
3. pandas:pandas库可以读取和写入多种文件格式,包括Excel文件。
下面分别介绍使用这三个库的方法:
### 1. 使用openpyxl
安装openpyxl库:
```
pip install openpyxl
```
读取Excel文件:
```python
from openpyxl import load_workbook
# 打开Excel文件
wb = load_workbook(filename='example.xlsx', read_only=True)
# 选择工作表
ws = wb['Sheet1']
# 读取单元格数据
cell_value = ws.cell(row=1, column=1).value
print(cell_value)
# 遍历行
for row in ws.iter_rows(min_row=1, max_col=3, max_row=2):
for cell in row:
print(cell.value)
# 遍历列
for col in ws.iter_cols(min_row=1, max_col=3, max_row=2):
for cell in col:
print(cell.value)
# 读取整个工作表的数据,返回一个嵌套列表
data = []
for row in ws.iter_rows(min_row=1):
row_data = []
for cell in row:
row_data.append(cell.value)
data.append(row_data)
print(data)
```
写入Excel文件:
```python
from openpyxl import Workbook
# 创建Excel文件
wb = Workbook()
# 选择工作表
ws = wb.active
# 写入单元格数据
ws['A1'] = 'Hello'
ws.cell(row=1, column=2, value='World')
# 写入多行数据
data = [['Name', 'Age', 'Gender'], ['Tom', 18, 'Male'], ['Lucy', 20, 'Female']]
for row in data:
ws.append(row)
# 保存Excel文件
wb.save('example.xlsx')
```
### 2. 使用xlrd/xlwt
安装xlrd和xlwt库:
```
pip install xlrd
pip install xlwt
```
读取Excel文件:
```python
import xlrd
# 打开Excel文件
wb = xlrd.open_workbook('example.xls')
# 选择工作表
ws = wb.sheet_by_name('Sheet1')
# 读取单元格数据
cell_value = ws.cell_value(0, 0)
print(cell_value)
# 遍历行
for row in range(ws.nrows):
for col in range(ws.ncols):
cell_value = ws.cell_value(row, col)
print(cell_value)
# 读取整个工作表的数据,返回一个嵌套列表
data = []
for row in range(ws.nrows):
row_data = []
for col in range(ws.ncols):
cell_value = ws.cell_value(row, col)
row_data.append(cell_value)
data.append(row_data)
print(data)
```
写入Excel文件:
```python
import xlwt
# 创建Excel文件
wb = xlwt.Workbook()
# 选择工作表
ws = wb.add_sheet('Sheet1')
# 写入单元格数据
ws.write(0, 0, 'Hello')
ws.write(0, 1, 'World')
# 写入多行数据
data = [['Name', 'Age', 'Gender'], ['Tom', 18, 'Male'], ['Lucy', 20, 'Female']]
for row, row_data in enumerate(data):
for col, cell_value in enumerate(row_data):
ws.write(row+1, col, cell_value)
# 保存Excel文件
wb.save('example.xls')
```
### 3. 使用pandas
安装pandas库:
```
pip install pandas
```
读取Excel文件:
```python
import pandas as pd
# 读取Excel文件
df = pd.read_excel('example.xlsx', sheet_name='Sheet1')
# 读取单元格数据
cell_value = df.iloc[0, 0]
print(cell_value)
# 遍历行
for index, row in df.iterrows():
print(row['Name'], row['Age'], row['Gender'])
# 读取整个工作表的数据,返回一个DataFrame对象
data = df.values.tolist()
print(data)
```
写入Excel文件:
```python
import pandas as pd
# 创建DataFrame对象
df = pd.DataFrame({'Name': ['Tom', 'Lucy'], 'Age': [18, 20], 'Gender': ['Male', 'Female']})
# 写入Excel文件
df.to_excel('example.xlsx', sheet_name='Sheet1', index=False)
```
以上是使用Python读写Excel的常用方法,可以根据实际需求选择不同的库和方法。
阅读全文