Python 学习笔记

读取 CSV 文件( Panda 版)

读取

import pandas as pd

df = pd.read_csv('C:/expamle.csv');

获取总行数

df.shape[0]

获取执行列(知道列名的情况)

df['Cloumn Name']

读取某列的某个单元格

for row in range(0,df.shape[0]):
    print(df['Column Name'][row]))

定义一个类型于 Jave 中 Map 的集合

定义

fieldMap = {}

赋值

fieldMap['field1'] = 'xxx'

读取

fieldMap['field1']

获取所有 key 值

fieldMap.keys()

读取 XML 文件(xml.etree.ElementTree 版)

读取

import xml.etree.ElementTree as ET

tree = ET.parse('example.xml')

获取所有的指定节点

root.findall('.//xxx')

读取 excel 文件(openpyxl 版本)

读取

from openpyxl import load_workbook

wb = load_workbook('your_file.xlsx')

读取指定  sheet

通过 sheet Name 读取

ws = wb['Sheet1']
ws.cell(row=2, column=3).value

通过索引读取某列

for row in userProfilePermissonMap_Layout.iter_rows(min_row=2,min_col=1, max_col=1, values_only=True):
    print(row[0])

 通过索引读取所有行数

for index in range(2, ws.max_row + 1):

通过索引获取指定单元格

ws.cell(row=2, column=3).value

获取行数/列数

ws.max_row
ws.max_column

创建一个新的 Sheet

ws2 = wb.create_sheet(title="MyNewSheet")

为单元格添加当前 Excel 其他 Sheet 的超链接

from openpyxl import Workbook
from openpyxl.utils import get_column_letter
from openpyxl.worksheet.hyperlink import Hyperlink

# 创建一个新的工作簿
wb = Workbook()

# 选择第一个工作表
ws1 = wb.active
ws1.title = "Sheet1"

# 创建第二个工作表
ws2 = wb.create_sheet(title="Sheet2")

otherSheetName = "Sheet2"
# 在Sheet1的A1单元格中添加指向Sheet2的超链接
hyperlink = "#'"+ otherSheetName +"'!A1"
ws1['A1'].hyperlink = hyperlink

# 保存工作簿
wb.save("example.xlsx")

复制sheet

from openpyxl import load_workbook

# 加载工作簿
wb = load_workbook('your_file.xlsx')

# 选择源sheet和目标sheet
source = wb['Sheet1']
target = wb['Sheet2']

# 复制数据
for row in source.iter_rows():
    row_data = [cell.value for cell in row]
    target.append(row_data)

# 保存工作簿
wb.save('your_file.xlsx')

根据单元格的值删除某行

先获取需要删除的行, 删除的说还好从后面的行开始删除,

worksheet.delete_rows(row_num)

冻结 Excel 的首行

ws.freeze_panes = 'A2'

添加筛选

是通过列名进行添加, 比如 A1, B1

下面的代码是为所有列都添加筛选, 所以通过 max_column 获取最大的列数, 然后转成字母的列名

from openpyxl.utils import get_column_letter

ws.auto_filter.ref = 'A1:' + get_column_letter(ws.max_column) + '1'

把列的列数转成列名字

比如: 第 3 列 --> C列

get_column_letter(ws.max_column)

设置列宽

from openpyxl.utils import get_column_letter

# 固定列宽
ws.column_dimensions[column].width = 50

#通过单元格大小设置列宽
for col in ws.columns:
    max_length = 0
    column = get_column_letter(col[0].column) # Get the column name
    for cell in col:
        try: # Necessary to avoid error on empty cells
            if len(str(cell.value)) > max_length:
                max_length = len(cell.value)
        except:
            pass
    adjusted_width = (max_length + 2)
    ws.column_dimensions[column].width = adjusted_width

为单元格添加样式

from openpyxl.styles import PatternFill
from openpyxl.styles import Font

fieldHeadStyle = PatternFill('solid', fgColor='5ABCF6') 
linkStyle = Font(color="0000FF", underline="single")

# 添加背景色
ws["A1"].fill = fieldHeadStyle
ws.cell(row=1, column= 1).fill = fieldHeadStyle

# 添加字体颜色和下划线
ws["A1"].font= linkStyle 
ws.cell(row=1, column= 1).font= linkStyle 

基本方法

for 循环

# 使用 range 函数表示范围, 不包含 3
for index in range(1,3):


# 类型 i -- 的效果

for index in range(6, 3, -1):

把 String 拆分成 List
 

s.split(',')

 获取某个字符前的字符串

str.split('-',1)[0]


 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值