我对 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/