python脚本编写

python打开文件并写入内容,需要转化下

    with open ('json','wb+') as  f:
        f.write(str(df.head()).encode('utf-8'))

python 输出结果转为list输出

def host(host):
    import  subprocess
    cmd = "lsblk  | grep disk  |awk '{print $1}'"
    a = subprocess.getoutput(f"ssh  {host}  {cmd} ")
    print(str(a).split('\n'))

host('master')

python 定义类并查看服务器硬件信息:

class ha(object):
    def __init__(self,hostname):
        self.hostname = hostname
    def mem(self):
        import subprocess
        cmd = "dmidecode  -t17 | grep -i serial | grep -iv no | awk '{print $3}'"
        a = subprocess.getoutput(f"ssh {self.hostname} {cmd} ")
        print(str(a).split('\n'))


h = ha('master').mem()
ha('master').mem()

=====================================================================
class ha(object):
    def __init__(self,hostname):
        self.hostname = hostname
    def mem_info(self):
        import subprocess
        mem_serial = "dmidecode  -t17 | grep -i serial | grep -iv no | awk '{print $3}'"
        mem_slot = "dmidecode  -t 17 |grep  Locator   | grep -Ev 'Bank Locator|NO DIMM' |awk '{print $2}'"
        mem_size = "dmidecode  -t 17 | grep -i size  | grep -vi no  | awk '{print $2}' | awk '{sum+=$1};END {print sum}'"
        a = subprocess.getoutput(f"ssh {self.hostname} {mem_serial} ")
        b= subprocess.getoutput(f"ssh {self.hostname} {mem_slot} ")
        c = subprocess.getoutput(f"ssh {self.hostname} {mem_size} ")
        print('SIZE: {}G\nSERIAL: {}\nSLOT: {}'.format(c,str(a).split('\n'),str(b).split('\n')))


ha('master').mem_info()
=======================================================================

def disk_info():
    import  subprocess
    diskc = "lsblk  | grep disk -c"
    ssd_disk_size = "lsblk  |grep disk | grep  -E 'sda|sdb|sdc' | awk '{print $4}' | awk '{sum+=$1};END {print sum}'"
    hdd_disk_size = "lsblk  |grep disk | grep  -vE 'sda|sdb|sdc' | awk '{print $4}' | awk '{sum+=$1};END {print sum}'"
    disk_sn = "lsblk  -o  name,MAJ:MIN,RM,size,type,serial"
    a = subprocess.getoutput(f"{diskc} ")
    b = subprocess.getoutput(f"{ssd_disk_size} ")
    c = subprocess.getoutput(f"{hdd_disk_size} ")
    d = subprocess.getoutput(f"{disk_sn} ")
    print('DISKC: {}\nssd_disk_size: {}G\nhdd_disk_size: {}T\ndisk_sn" {}'.format(a, str(b).split('\n'), str(c).split('\n'),d))

disk_info()

=====================================================================

def disk():
    import  subprocess
    cmd = """
    na=`lsblk  | grep disk  | awk '{print $1}'`
    for i in ${na[@]}
    do
        Current_Pending_Sector_valur=`smartctl  -a /dev/$i | grep Current_Pending_Sector|awk '{print $6}'`
        if [[ $Current_Pending_Sector_valur -lt 80  ]]  ;then
            echo $i is healthy
        else
            echo $i is unhealthy
        fi
    done
    """
    a = subprocess.getoutput(f"{
    
    cmd} ")
    print('disk_healthy_info:{}'.format(a))


disk()

python 脚本参数执行

def write(filename,context):
      with open(filename,'wb+') as f :
            f.write(str(context).encode('utf-8'))

if __name__ == '__main__':
      import argparse
      import  sys

      # 1. 定义命令行解析器对象
      parser = argparse.ArgumentParser(description='Demo of argparse')

      # 2. 添加命令行参数
      parser.add_argument('-f','--file', help='filename'  )
      parser.add_argument('-c','--context', help='context' )
      args = parser.parse_args(None if sys.argv[1:] else ['-h'])

      # 3. 从命令行中结构化解析参数
      file = args.file
      context = args.context
      write(file,context)

Python实现将Excel转换为json的方法示例

准备工作
在开始之前,需要安装以下库:

Pandas:可以帮助读取 Excel 文件。
json:将 Pandas 数据转换为 JSON。
首先需要在命令行中执行以下代码安装 pandas 和 json 库:

pip install pandas
pip install json

示例 1:将Excel表中的一行数据转换为JSON格式
用 Pandas 读取 Excel 文件,并将其中一行数据转为 JSON 格式的代码如下:

import pandas as pd
import json

# 读取Excel文件的第一行作为列名,读取第二行中的数据
data = pd.read_excel('data.xlsx', header=0, skiprows=[1], nrows=1)

# 转换为JSON格式
result = json.loads(data.to_json(orient='records'))

# 输出结果
print(result)

解释一下代码:
pd.read_excel 用于读取 Excel 文件,
			header=0 表示第一行是列名,
			skiprows=[1] 表示跳过第二行,
			nrows=1 表示读取一行数据;
data.to_json 可以将 Pandas 数据转换为 JSON 格式,
			orient='records' 表示将每一行数据转换为一个 JSON 对象,组成一个数组返回。

示例 2:将Excel表中的多行数据转换为JSON格式
将整个 Excel 表格中的数据转为 JSON 格式的代码如下:

import pandas as pd
import json

# 读取Excel文件的第一行作为列名
data = pd.read_excel('data.xlsx', header=0)

# 转换为JSON格式
result = json.loads(data.to_json(orient='records'))

# 输出结果
print(result)

解释一下代码:

pd.read_excel 用于读取 Excel 文件,
			header=0 表示第一行是列名;
data.to_json 可以将 Pandas 数据转换为 JSON 格式,
			orient='records' 表示将每一行数据转换为一个 JSON 对象,组成一个数组返回。

总结
以上就是将 Excel 转为 JSON 的 Python 示例。使用 Pandas 可以轻松地将 Excel 转换为各种格式的数据,同时 Pandas 还支持大量的数据处理操作,非常适合数据分析和处理。

python关于excel多个sheet的导入导出方式

导入所需模块
我们将使用pandas和xlrd模块来处理Excel文件。其中pandas用于数据处理,xlrd用于读取Excel文件数据。

import pandas as pd
import xlrd

从Excel文件中读取多个sheet
我们可以使用Pandas提供的read_excel()函数来读取Excel文件。该函数可以读取一个Excel文件中的一个或多个sheet。

excel_file = pd.ExcelFile('example.xlsx')  # 读取Excel文件
sheet_names = excel_file.sheet_names  # 获取所有sheet的名称

for sheet_name in sheet_names:
    df = pd.read_excel(excel_file, sheet_name=sheet_name)
    print('Sheet Name:', sheet_name)
    print(df.head())  # 取前五行打印出来
上述代码中,我们首先使用ExcelFile()方法读取Excel文件。
然后,通过sheet_names变量获取所有sheet的名称。
接着,使用for循环遍历所有sheet,并通过read_excel()方法读取每个sheet中的数据,
最后将结果打印出来。

将多个DataFrame写入Excel文件

我们可以使用Pandas提供的ExcelWriter()方法来将多个DataFrame写入同一个Excel文件的不同sheet中。

df1 = pd.read_excel('example.xlsx', sheet_name='Sheet1')
df2 = pd.read_excel('example.xlsx', sheet_name='Sheet2')

with pd.ExcelWriter('output.xlsx') as writer:  # 创建ExcelWriter对象
    df1.to_excel(writer, sheet_name='Sheet1_new')  # 将df1写入新的sheet
    df2.to_excel(writer, sheet_name='Sheet2_new')  # 将df2写入新的sheet

print('写入Excel文件成功!')
上述代码中,我们首先使用read_excel()方法读取Excel文件中的两个sheet。
然后,使用ExcelWriter()方法创建一个新的Excel文件对象。
接着,使用to_excel()方法将两个DataFrame分别写入不同的sheet。
最后,使用print()函数输出写入Excel文件成功的信息。

Python读取txt内容写入xls格式excel中的方法

安装Python相关的库,包括openpyxl、pandas、xlrd和xlwt。可以使用命令:

pip install openpyxl pandas xlrd xlwt

读取txt文件
首先需要打开txt文件,并将其中的数据读取出来。可以使用Python自带的open函数打开文件,然后使用readlines方法读取所有内容。示例代码:

filename = 'data.txt'
with open(filename, 'r') as f:
    data = f.readlines()

处理数据
读取到的数据一般为字符串格式,需要进行处理,将其转化为列表或二维数组。示例代码:

content = []
for line in data:
    line = line.strip().split('\t')
    content.append(line)

写入Excel文件
使用pandas库中的DataFrame类和to_excel方法,可以很方便地将数据写入Excel文件。示例代码:

import pandas as pd

df = pd.DataFrame(content, columns=['Name', 'Age', 'Gender'])  # 创建DataFrame对象
writer = pd.ExcelWriter('data.xlsx')  # 创建ExcelWriter对象
df.to_excel(writer, sheet_name='Sheet1', index=False)  # 将数据写入Excel文件中的Sheet1工作表
writer.save()  # 保存Excel文件

完整示例代码

import pandas as pd

filename = 'data.txt'
with open(filename, 'r') as f:
    data = f.readlines()

content = []
for line in data:
    line = line.strip().split('\t')
    content.append(line)

df = pd.DataFrame(content, columns=['Name', 'Age', 'Gender'])  # 创建DataFrame对象
writer = pd.ExcelWriter('data.xlsx')  # 创建ExcelWriter对象
df.to_excel(writer, sheet_name='Sheet1', index=False)  # 将数据写入Excel文件中的Sheet1工作表
writer.save()  # 保存Excel文件

示例说明
以读取以下数据为例:

Tom 23  Male
Jerry   22  Female
Bob 26  Male

写入Excel后的结果如下图所示:

另外还可以自定义写入Excel文件的Sheet名。示例代码:

df.to_excel(writer, sheet_name='Students', index=False)  
# 将数据写入Excel文件中的Students工作表

写入Excel后的结果如下图所示:

Python将多个excel表格合并为一个表格

前置条件
在开始之前,请确保你已经安装了以下库:
pandas
openpyxl
你可以通过pip命令进行安装:

pip install pandas
pip install openpyxl

实现步骤
第一步:导入所需库
在Pyhton文件中,首先需要导入所需的库。本次需要使用到pandas和openpyxl库,可以按以下方式进行导入:

import pandas as pd
import openpyxl

第二步:读取excel表格并合并
接下来需要读取所有需要合并的excel表格,并将其合并为一个。

首先创建一个空的DataFrame。

df = pd.DataFrame()

然后使用for循环,遍历所有需要合并的表格。在循环中,使用pandas库的read_excel()方法读取每个表格,并通过concat()方法将其合并到之前创建的空DataFrame中。

for file_name in file_list:
    data = pd.read_excel(file_name)
    df = pd.concat([df, data])
其中file_list是需要合并的所有excel表格的文件名列表。

第三步:将合并后的数据导出为新的excel表格
最后,需要将合并后的数据导出为一个新的excel表格。

在导出之前,可以通过openpyxl库创建一个新的excel文件,并指定文件名和表格名。

workbook = openpyxl.Workbook()
worksheet = workbook.active
worksheet.title = "合并表格"

接下来,可以使用pandas库的to_excel()方法将合并后的数据写入到新的excel表格中。

df.to_excel(excel_writer=workbook, sheet_name="合并表格", index=False)

最后,需要保存并关闭excel文件。

workbook.save("merged_file.xlsx")
workbook.close()

至此,多个excel表格已经顺利合并为一个表格,并导出为一个新的excel文件。

示例说明
以下是两个示例,分别演示了合并两个和三个excel表格的过程。

示例一:合并两个excel表格
假设需要合并的两个excel表格分别为data1.xlsx和data2.xlsx。

首先,需要将两个文件名存储到一个list中:

file_list = ["data1.xlsx", "data2.xlsx"]

接下来,按照上述步骤开展工作即可。

示例二:合并三个excel表格
假设需要合并的三个excel表格分别为data1.xlsx、data2.xlsx和data3.xlsx。

首先,需要将三个文件名存储到一个list中:

file_list = ["data1.xlsx", "data2.xlsx", "data3.xlsx"]

接下来,按照上述步骤开展工作即可。

总体而言,合并多个excel表格的步骤是相同的。只需要将需要合并的文件名存储到一个list中,然后遍历这个list并将每个表格的数据合并到一个DataFrame中即可。最后,将合并后的结果写入到一个新的excel表格中即可。

参考链接:
https://pythonjishu.com/robotic-process-automation/
添加链接描述
Python实现将Excel转换为json的方法示例
python关于excel多个sheet的导入导出方式

猜你喜欢

转载自blog.csdn.net/weixin_45720992/article/details/132341150
今日推荐