从本地存储读取和操作 xlsx 文件,并将单元格中的一些值提取到 .txt 和 .csv 文件中

Read and manipulate xlsx file from local storage and extract some of the values from cells into .txt and .csv files

读取 excel 文件并使用 openpyxl 将详细信息提取到新的 .txt 文件中

我是openpyxl的新手,昨天才开始。我需要从本地存储中的 excel 文件中提取数据,excel 文件有 500 多行和 50 多列。我想将一些特定的单元格或列或行提取到 .txt 和 .csv 文件中。

我找不到在这段代码中添加什么错误的地方

from openpyxl import *
import os    

path = 'F:\mis'
files = [i for i in os.listdir(path) if i.endswith('.xlsx')]

for f in files:
     wb = load_workbook(os.path.join(path, f))
     for row in wb['newxl.xlsx'].rows:
         with open(row[2].value+'.txt', 'w') as outfile:
              outfile.write(row[0].value)```

更新的答案

import openpyxl
import csv
      
roster = openpyxl.load_workbook('roster.xlsx')
sheet = roster.active
col = csv.writer(open("new_roster.csv",'w',newline=""))

st_id = int(input("Enter student ID: "))
for row in sheet.rows:
    if row[0].value == st_id:
        col.writerow([cell.value for cell in row])
print("File created!")

更新 2

这是从特定列获取值的方法:

import openpyxl
roster = openpyxl.load_workbook('roster.xlsx')  
sheet = roster.active
col = sheet['B']  

for x in range(len(col)): 
    print(col[x].value) 

更新 3

Return 列中的特定值:

import openpyxl

roster = openpyxl.load_workbook('roster.xlsx')  
sheet = roster.active

col = sheet['B']  # <-- change the column according to your file
val = input("Enter value: ")
for c in range(len(col)): 
    if val == col[c].value:
        print(f'Found {col[c].value}!')
import pandas as pd
df=pd.read_excel("F:\mis\CASHE.xlsx")
cus_id=input("Please enter your customer id:")
cashe=['customer_id', 'customer_name', 'login_email_id', 'login_source', 'New_date', 'customer_status_name']

if cus_id == '':
    df1=df[cashe]
else:
    df1=df[cashe].loc[df['customer_id']==int(cus_id)]

df1.to_csv('Cashe1.csv')
print("csv printed with values")