怎么用脚本读取电子表格

wen 实用脚本 1

本文目录导读:

怎么用脚本读取电子表格

  1. Python + openpyxl(最常用)
  2. Python + pandas(数据处理更方便)
  3. JavaScript + xlsx 库(前端)
  4. VBA(Excel内置脚本)
  5. 使用建议

Python + openpyxl(最常用)

import openpyxl
# 读取Excel文件
workbook = openpyxl.load_workbook('文件.xlsx')
# 获取工作表
sheet = workbook.active  # 或 workbook['工作表名称']
# 读取单元格
value = sheet['A1'].value  # 读取A1单元格
value2 = sheet.cell(row=1, column=2).value  # 读取第1行第2列
# 遍历所有行
for row in sheet.iter_rows(min_row=1, max_row=10, max_col=5):
    for cell in row:
        print(cell.value)
# 读取多个工作表中的数据
for sheet_name in workbook.sheetnames:
    sheet = workbook[sheet_name]
    print(f"工作表: {sheet_name}")

Python + pandas(数据处理更方便)

import pandas as pd
# 读取Excel文件
df = pd.read_excel('文件.xlsx', sheet_name='Sheet1')
# 查看数据
print(df.head())  # 前5行
print(df.columns) # 列名
df.info()         # 数据类型和统计信息
# 读取特定列的数值
names = df['姓名'].tolist()
prices = df['价格'].values
# 读取CSV文件
df_csv = pd.read_csv('文件.csv', encoding='utf-8')

JavaScript + xlsx 库(前端)

// Node.js环境
const XLSX = require('xlsx');
// 读取Excel文件
const workbook = XLSX.readFile('文件.xlsx');
// 获取第一个工作表
const sheet = workbook.Sheets[workbook.SheetNames[0]];
// 转换为JSON格式
const data = XLSX.utils.sheet_to_json(sheet);
console.log(data);

VBA(Excel内置脚本)

Sub 读取数据()
    Dim ws As Worksheet
    Dim i As Integer
    ' 选择工作表
    Set ws = ThisWorkbook.Sheets("Sheet1")
    ' 循环读取数据
    For i = 1 To 10
        Debug.Print ws.Cells(i, 1).Value
    Next i
    ' 读取特定范围
    Dim range_data As Range
    Set range_data = ws.Range("A1:C10")
    For Each cell In range_data
        MsgBox cell.Value
    Next cell
End Sub

使用建议

安装依赖

# Python
pip install openpyxl pandas
# Node.js
npm install xlsx

完整示例(Python脚本读取Excel)

import openpyxl
def read_excel_file(file_path, sheet_name=None):
    """
    读取Excel文件的通用函数
    """
    try:
        # 加载工作簿
        wb = openpyxl.load_workbook(file_path, data_only=True)
        # 选择工作表
        if sheet_name:
            ws = wb[sheet_name]
        else:
            ws = wb.active
        # 获取所有数据
        data = []
        for row in ws.iter_rows(values_only=True):
            data.append(row)
        # 打印表头和数据
        print("表头:", data[0])
        print("数据行数:", len(data) - 1)
        return data
    except Exception as e:
        print(f"读取文件失败: {e}")
        return None
# 使用示例
if __name__ == "__main__":
    data = read_excel_file("example.xlsx")
    if data:
        for row in data[:5]:  # 打印前5行
            print(row)

常见问题处理:

  • 文件路径:确保路径正确,可以使用绝对路径
  • 编码问题:CSV文件可能需要指定编码,如 encoding='utf-8'
  • 大文件:使用pandas可以更高效地处理大文件
  • 格式兼容:更多使用 .xlsx 格式而不是旧的 .xls

根据你的具体需求,选择合适的方法即可,如果需要更具体的方案,请告诉我你想读取什么类型的数据或文件格式。

抱歉,评论功能暂时关闭!