openpyxl如何使用loc
时间: 2023-10-13 21:19:46 浏览: 44
openpyxl库中没有类似pandas中的loc方法。在openpyxl中,可以通过指定单元格的坐标来访问和修改单元格的数据。例如:
```python
import openpyxl
# 打开Excel文件
wb = openpyxl.load_workbook('example.xlsx')
# 选择工作表
ws = wb.active
# 通过坐标访问单元格
cell_value = ws['A1'].value
# 修改单元格的值
ws['A1'] = 'new value'
# 保存Excel文件
wb.save('example.xlsx')
```
另外,openpyxl还提供了一些其他的方法来访问单元格,比如按行或列访问。具体可以参考openpyxl的官方文档。
相关问题
import pandas as pd url = r'C:\Users\vincent.zheng\Downloads\Nothing Tech Daily Report 0706.xlsx' df = pd.read_excel(url, sheet_name='Sheet1') df2 = pd.read_excel(url, sheet_name='NT EU') for i in range(len(df)): hbl = df.loc[i, 'HBL'] a = df2.loc[df2['HAWB#'] == hbl] df.loc[i, 'ETD'] = a['ATD HKG'] writer = pd.ExcelWriter(url, engine='openpyxl') df.to_excel(writer, sheet_name="Sheet1", index=False) writer._save()
你的代码用于读取一个 Excel 文件,并根据其中的数据进行处理后再保存。这里使用了 Pandas 库来读取和处理 Excel 数据。
首先,使用 `pd.read_excel` 函数读取两个工作表的数据:
```python
url = r'C:\Users\vincent.zheng\Downloads\Nothing Tech Daily Report 0706.xlsx'
df = pd.read_excel(url, sheet_name='Sheet1')
df2 = pd.read_excel(url, sheet_name='NT EU')
```
然后,使用一个循环遍历 `df` 中的每一行,获取 'HBL' 列的值,并在 `df2` 中找到匹配的 'HAWB#' 值:
```python
for i in range(len(df)):
hbl = df.loc[i, 'HBL']
a = df2.loc[df2['HAWB#'] == hbl]
df.loc[i, 'ETD'] = a['ATD HKG']
```
最后,使用 `pd.ExcelWriter` 创建一个写入对象,并将修改后的 `df` 数据保存到同一个 Excel 文件中:
```python
writer = pd.ExcelWriter(url, engine='openpyxl')
df.to_excel(writer, sheet_name="Sheet1", index=False)
writer.save()
```
注意,使用 `writer.save()` 方法来保存文件。
请确保你的代码中的文件路径和工作表名称正确,并且你已经安装了相应的依赖库(如 Pandas、openpyxl)。
如果你有任何问题或需要进一步的帮助,请随时提问。
import matplotlib.pyplot as plt import xlutils import openpyxl import numpy as np import xlrd from sklearn.cluster import KMeans from sklearn import datasets wk = openpyxl.load_workbook("D:\localDirection\细分表格\X(28465-28775)\\531.xlsx") ws = wk.active data= xlrd.open_workbook('D:\localDirection\细分表格\X(28465-28775)\\531.xls') worksheet = data.sheet_by_name("Sheet1") X = data[:, :2] # #表示我们取特征空间中的4个维度 print(X.shape) # 绘制数据分布图 plt.scatter(X[:, 0], X[:, 1], c="red", marker='o', label='see') plt.xlabel('sepal length') plt.ylabel('sepal width') plt.legend(loc=2) plt.show() estimator = KMeans(n_clusters=3) # 构造聚类器 estimator.fit(X) # 聚类 label_pred = estimator.labels_ # 获取聚类标签 # 绘制k-means结果 x0 = X[label_pred == 0] x1 = X[label_pred == 1] x2 = X[label_pred == 2] plt.scatter(x0[:, 0], x0[:, 1], c="red", marker='o', label='label0') plt.scatter(x1[:, 0], x1[:, 1], c="green", marker='*', label='label1') plt.scatter(x2[:, 0], x2[:, 1], c="blue", marker='+', label='label2') plt.xlabel('sepal length') plt.ylabel('sepal width') plt.legend(loc=2) plt.show()
这段代码是用于读取并处理 Excel 文件数据,并使用 KMeans 聚类算法对数据进行分析和可视化。具体来说:
- 第1行导入了 matplotlib.pyplot、xlutils、openpyxl、numpy、xlrd 等库
- 第2至9行分别打开 Excel 文件并读取数据,其中第6行使用了 xlrd 库的 sheet_by_name 函数获取工作表“Sheet1”中的数据
- 第10行使用 [:, :2] 将数据集中的前两列数据存储在 X 变量中(注意:应该使用 np.array(data) 将数据转换为 numpy 数组后再进行索引)
- 第12至19行使用 matplotlib 库的 scatter 函数将数据集 X 中的前两列特征数据作为横纵坐标,以散点图的形式展示在坐标系中
- 第21至23行使用 KMeans 算法构造聚类器,并使用 fit 函数对数据进行聚类
- 第25行使用 labels_ 属性获取聚类标签
- 第27至35行使用 matplotlib 库的 scatter 函数将聚类结果以不同颜色的散点图展示在坐标系中,其中 label0、label1、label2 分别表示聚类结果的三个簇(注意:应该使用 np.array(X)[label_pred == 0] 将标签应用到数据集中,获取聚类结果的每个簇的数据)
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![zip](https://img-home.csdnimg.cn/images/20210720083736.png)
![rar](https://img-home.csdnimg.cn/images/20210720083606.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)