python - 使用Python操作Excel电子表格

标签 python python-3.x automation excel-2010 string-search

我对 Python 很陌生,尤其是在将它与 Excel 一起使用时。我需要编写代码来在 A 列中每个单元格的较长字符串中搜索字符串“Mac”、“Asus”、“AlienWare”、“Sony”或“Gigabit”。具体取决于它在其中找到的字符串中的哪一个A 列单元格中的整个条目,它应该将这 5 个字符串之一写入 C 列单元格中的相应行。否则,如果找不到这五个中的任何一个,则会将“其他”写入 C 列中的相应行。例如,如果 A2 列的单元格包含字符串“ProLiant Asus DL980 G7”,则正确的代码将写入“Asus”到 C2 列的单元格。它应该对 A 列中的每个单元格执行此操作,将适当的字符串写入 C 列中的相应单元格。A 列中的每个单元格将包含 Mac、Asus、AlienWare、Sony 或 Gigabit 五个字符串之一。如果它不包含这些字符串之一,我希望第 3 列中的相应单元格写入字符串“Other”。到目前为止,这是我拥有的代码(一点也不多):

import openpyxl
wb = openpyxl.load_workbook(path)
sheet = wb.active
    for i in range (sheet.max_row):
    cell1 = sheet.cell (row = i, column = 1)
    cell2 = sheet.cell (row = I, column = 3)

# missing code here

wb.save(path)

最佳答案

您尚未尝试编写任何代码来解决该问题。您可能需要首先让 openpyxl 写入 Excel 工作簿并验证其是否正常工作 - 即使它是虚拟数据。此页面看起来很有帮助 - here

一旦它起作用,您所需要的只是一个接受字符串作为参数的简单函数。

def get_column_c_value(string_from_column_a):
     if "Lenovo" in string_from_column_a:
          return "Lenovo"
     else if "HP" in string_from_column_a:
          return "HP"
     # strings you need to check for here in the same format as above
     else return "other"

尝试一下,如果您有任何问题,请告诉我您遇到的问题。

关于python - 使用Python操作Excel电子表格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50806165/

相关文章:

if 条件下的 Python pandas : crash unknown

python - 修复 Python 导入样式的实用程序?

python - 检测 tkinter 消息框是否正在关闭

css - Selenium WD |尝试将 'If' 语句与逻辑 'or' 一起使用

windows - 如何在启动时以管理员身份运行脚本

python - 如何在 Openpyxl 中找到最后一个非空白单元格?

python - 解析 IntId

excel - 从不同的 Excel 工作表自动导入 SQL 表

python - 如何根据条件更改python数据框中的值(即列表)?

python - 如何使用 Orange 离散化存储在 numpy 数组中的数据?