使用python读取和保存为excel、csv、txt文件以及对DataFrame文件的基本操作

2023-11-16

文章目录

一、对excel文件的处理

1.读取excel文件并将其内容转化DataFrame和矩阵形式

①将excel转化为dataframe格式

data_file = 'Pre_results.xlsx' # Excel文件存储位置
D = pd.read_excel('Pre_results.xlsx')
# D = pd.read_excel('Pre_results.xlsx', sheet_name='Fe') 多张表儿
print(D)

②将excel转化为矩阵格式
首先要说明的一点是,同一个矩阵中所有元素必须是同一类型
例如,生成矩阵时,我们可以为矩阵指定类型dtype=str、int、float等。

# 生成一个2×2的类型为str的矩阵
import numpy as np
datamatrix = np.zeros((2, 2),dtype = str)
print(datamatrix)

在这里插入图片描述
可见,在这个矩阵中的元素都是str类型。
代码实战:
首先看一下我们要处理的excel文件的内容。在这里插入图片描述

下面直接上代码。

import numpy as np
import xlrd
def import_excel_matrix(path):
    table = xlrd.open_workbook(path).sheets()[0] # 获取第一个sheet表
    row = table.nrows # 行数
    #print(row)
    col = table.ncols # 列数
    datamatrix = np.zeros((row, col),dtype = float) # 生成一个nrows行*ncols列的初始矩阵,在excel中,类型必须相同,否则需要自己指定dtype来强制转换。
    for i in range(col): # 对列进行遍历 向矩阵中放入数据
        #print(table.col_values(i)) #是矩阵
        cols = np.matrix(table.col_values(i)) # 把list转换为矩阵进行矩阵操作
        #print(cols)
        #cols = float(cols)
        datamatrix[:, i] = cols # 按列把数据存进矩阵中
    return datamatrix
data_file = 'to_matrix.xlsx' # Excel文件存储位置
data_matrix = import_excel_matrix(data_file)
print(data_matrix)

运行结果:
在这里插入图片描述

2.将数据写入xlsx文件

# 1.导入openpyxl模块
import openpyxl
# 2.调用Workbook()方法
wb = openpyxl.Workbook()
# 3. 新建一个excel文件,并且在单元表为"sheet1"的表中写入数据
ws = wb.create_sheet("sheet1")
# 4.在单元格中写入数据
# ws.cell(row=m, column=n).value = *** 在第m行n列写入***数据
ws.cell(row=1, column=1).value = "时间"
ws.cell(row=1, column=2).value = "零食"
ws.cell(row=1, column=3).value = "是否好吃"
# 5.保存表格
wb.save('嘿嘿.xlsx')
print('保存成功!')

3.将数据保存为xlsx文件

import xlwt
workbook=xlwt.Workbook(encoding='utf-8')
booksheet=workbook.add_sheet('Sheet 1', cell_overwrite_ok=True)
DATA=(('学号','姓名','年龄','性别','成绩'), 
('1001','A','11','男','12'),
('1002','B','12','女','22'),
('1003','C','13','女','32'),
('1004','D','14','男','52'),)
for i,row in enumerate(DATA):
    for j,col in enumerate(row):
        booksheet.write(i,j,col)
workbook.save('grade.xls')

4.使用excel对数据进行处理的缺点

只能一行一行的读出和写入,且矩阵形式只可以存放相同类型的数据,效率不高。

二、对csv文件的处理

1.读取csv文件并将其内容转化为DataFrame形式

在这里插入图片描述

import pandas as pd
df = pd.read_csv('to_df.csv') #,nrows =6) nrows=6表示只读取前六行数据
print(df)

在这里插入图片描述

2.将DataFrame保存为csv文件

df.to_csv('df_to_csv.csv')

3.优缺点

①CSV是纯文本文件,excel不是纯文本,excel包含很多格式信息在里面。
②CSV文件的体积会更小,创建分发读取更加方便,适合存放结构化信息,比如记录的导出,流量统计等等。
③CSV文件在windows平台默认的打开方式是excel,但是它的本质是一个文本文件。
④csv文件只有一个sheet,太多的表不易保存,注意命名规范。

三、对txt文件的处理

1.读取txt文件

f=open('data.txt')
print(f.read())

2.将数据写入txt文件

注意不能将DataFrame写入txt文件,只能写入字符串。

f = open('data.txt','w', encoding='utf-8') #打开文件,若文件不存在系统自动创建
#w只能写入操作 r只能读取 a向文件追加;w+可读可写 r+可读可写 a+可读可追加;wb+写入进制数据
#w模式打开文件,如果文件中有数据,再次写入内容,会把原来的覆盖掉
f.write('hello world! = %.3f' % data) #write写入
f.writelines(['hello!\n']) #writelines 将列表中的字符串写入文件 但不会换行 参数必须是一个只存放字符串的列表
f.close() #关闭文件

3.将数据保存到txt文件

save_path= 'save.txt'
np.savetxt(save_path, data, fmt='%.6f')

四、对DataFrame文件的基本操作

1.DataFrame的创建

①DataFrame是一种表格型数据结构,(每一列的数据类型可以不同,而矩阵必须相同)它含有一组有序的列,每列可以是不同的值。
DataFrame既有行索引,也有列索引,(调用其值时用)它可以看作是由Series组成的字典,不过这些Series公用一个索引。
③DataFrame的创建有多种方式,可以根据dict进行创建,也可以读取csv或者txt文件来创建。这里主要介绍这两种方式。

1.1根据字典创建

data = {
    'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],
    'year':[2000,2001,2002,2001,2002],
    'pop':[1.5,1.7,3.6,2.4,2.9]
}
frame = pd.DataFrame(data)
frame

#输出
    pop state   year
0   1.5 Ohio    2000
1   1.7 Ohio    2001
2   3.6 Ohio    2002
3   2.4 Nevada  2001
4   2.9 Nevada  2002

DataFrame的行索引是index,列索引是columns,我们可以在创建DataFrame时指定索引的值:

frame2 = pd.DataFrame(data,index=['one','two','three','four','five'],columns=['year','state','pop','debt'])
frame2

#输出
    year    state   pop debt
one 2000    Ohio    1.5 NaN
two 2001    Ohio    1.7 NaN
three   2002    Ohio    3.6 NaN
four    2001    Nevada  2.4 NaN
five    2002    Nevada  2.9 NaN

使用嵌套字典也可以创建DataFrame,此时外层字典的键作为列,内层键则作为索引:

pop = {'Nevada':{2001:2.4,2002:2.9},'Ohio':{2000:1.5,2001:1.7,2002:3.6}}
frame3 = pd.DataFrame(pop)
frame3
#输出
    Nevada  Ohio
2000    NaN 1.5
2001    2.4 1.7
2002    2.9 3.6

我们可以用index,columns,values来访问DataFrame的行索引,列索引以及数据值,数据值返回的是一个二维的ndarray

frame2.values
frame2.values[0,1]

1.2读取文件

读取文件生成DataFrame最常用的是read_csv,read_table方法。该方法中几个重要的参数如下所示:
在这里插入图片描述
其他创建DataFrame的方式有很多,比如我们可以通过读取mysql或者mongoDB来生成,也可以读取json文件等等,这里就不再介绍。

1.3 DataFrame文件拼接

df = df1.append([df2,df3], ignore_index = True)

2.DataFrame轴的概念

在DataFrame的处理中经常会遇到轴的概念,这里先给大家一个直观的印象,我们所说的axis=0即表示沿着每一列或行标签\索引值向下执行方法,axis=1即表示沿着每一行或者列标签模向执行对应的方法。

3.DataFrame一些性质

3.1索引、切片

我们可以根据列名来选取一列,返回一个Series:

frame2['year'] #索引列名

索引多列

data = pd.DataFrame(np.arange(16).reshape((4,4)),index = ['Ohio','Colorado','Utah','New York'],columns=['one','two','three','four'])
data[['two','three']]

索引多行

data[:2] #第一行和第二行
#输出
    one two three   four
Ohio    0   1   2   3
Colorado    4   5   6   7

索引时,如果要是用标签,最好使用loc方法,如果使用下标,最好使用iloc方法。

data.loc['Colorado',['two','three']]
#输出
two      5
three    6
Name: Colorado, dtype: int64

data.iloc[0:3,2]
#输出
Ohio         2
Colorado     6
Utah        10
Name: three, dtype: int64

3.2修改数据

可以使用一个标量修改DataFrame中的某一列,此时这个标量会广播到DataFrame的每一行上。

data = {
    'state':['Ohio','Ohio','Ohio','Nevada','Nevada'],
    'year':[2000,2001,2002,2001,2002],
    'pop':[1.5,1.7,3.6,2.4,2.9]
}
frame2 = pd.DataFrame(data,index=['one','two','three','four','five'],columns=['year','state','pop','debt'])
frame2
frame2['debt']=16.5

也可以使用一个列表来修改,不过要保证列表的长度与DataFrame长度相同:

frame2.debt = np.arange(5)

可以使用一个Series,此时会根据索引进行精确匹配:

val = pd.Series([-1.2,-1.5,-1.7],index=['two','four','five'])
frame2['debt'] = val

3.3算数运算

DataFrame在进行算术运算时会进行补齐,在不重叠的部分补足NA

df1 = pd.DataFrame(np.arange(9).reshape((3,3)),columns=list('bcd'),index=['Ohio','Texas','Colorado'])
df2 = pd.DataFrame(np.arange(12).reshape((4,3)),columns = list('bde'),index=['Utah','Ohio','Texas','Oregon'])
df1 + df2

3.4函数应用和映射

numpy的元素级数组方法,也可以用于操作Pandas对象:

frame = pd.DataFrame(np.random.randn(3,3),columns=list('bcd'),index=['Ohio','Texas','Colorado'])
np.abs(frame)

另一个常见的操作是,将函数应用到由各列或行所形成的一维数组上。DataFrame的apply方法即可实现此功能。

f = lambda x:x.max() - x.min()
frame.apply(f)

3.5排序和排名

对于DataFrame,sort_index可以根据任意轴的索引进行排序,并指定升序降序

frame = pd.DataFrame(np.arange(8).reshape((2,4)),index=['three','one'],columns=['d','a','b','c'])
frame.sort_index()

DataFrame也可以按照值进行排序:

#按照任意一列或多列进行排序
frame.sort_values(by=['a','b'])

3.6汇总和计算描述统计

DataFrame中的实现了sum、mean、max等方法,我们可以指定进行汇总统计的轴,同时,也可以使用describe函数查看基本所有的统计项:

df = pd.DataFrame([[1.4,np.nan],[7.1,-4.5],[np.nan,np.nan],[0.75,-1.3]],index=['a','b','c','d'],columns=['one','two'])
df.sum(axis=1)
#输出
one    9.25
two   -5.80
dtype: float64

#Na会被自动排除,可以使用skipna选项来禁用该功能
df.mean(axis=1,skipna=False)
#输出
a      NaN
b    1.300
c      NaN
d   -0.275
dtype: float64
#idxmax返回间接统计,是达到最大值的索引

df.idxmax()
#输出
one    b
two    d
dtype: object

#describe返回的是DataFrame的汇总统计
#非数值型的与数值型的统计返回结果不同
df.describe()

DataFrame也实现了corr和cov方法来计算一个DataFrame的相关系数矩阵和协方差矩阵,同时DataFrame也可以与Series求解相关系数。

frame1 = pd.DataFrame(np.random.randn(3,3),index=list('abc'),columns=list('abc'))
frame1.corr
frame1.cov()
#corrwith用于计算每一列与Series的相关系数
frame1.corrwith(frame1['a'])

3.7处理缺失数据

Pandas中缺失值相关的方法主要有以下三个:
isnull方法用于判断数据是否为空数据;
fillna方法用于填补缺失数据;
dropna方法用于舍弃缺失数据。

上面两个方法返回一个新的Series或者DataFrame,对原数据没有影响,如果想在原数据上进行直接修改,使用inplace参数:

data = pd.DataFrame([[1,6.5,3],[1,np.nan,np.nan],[np.nan,np.nan,np.nan],[np.nan,6.5,3]])
data.dropna()
#输出
    0   1   2
0   1.0 6.5 3.0

对DataFrame来说,dropna方法如果发现缺失值,就会进行整行删除,不过可以指定删除的方式,how=all,是当整行全是na的时候才进行删除,同时还可以指定删除的轴。

data.dropna(how='all',axis=1,inplace=True)
data
#输出
0   1   2
0   1.0 6.5 3.0
1   1.0 NaN NaN
2   NaN NaN NaN
3   NaN 6.5 3.0

DataFrame填充缺失值可以统一填充,也可以按列填充,或者指定一种填充方式:

data.fillna({1:2,2:3})
#输出
0   1   2
0   1.0 6.5 3.0
1   1.0 2.0 3.0
2   NaN 2.0 3.0
3   NaN 6.5 3.0

data.fillna(method='ffill')
#输出
0   1   2
0   1.0 6.5 3.0
1   1.0 6.5 3.0
2   1.0 6.5 3.0
3   1.0 6.5 3.0

3.8 其他

a = df.groupby(['device_category', 'media_category'])['exposure_last'].mean()

选择这两个特征 ‘device_category’, 'media_category’相同的行,根据’exposure_last’计算mean平均值(sum求和)。

Dataframe中的Series是什么?

1、series与array类型的不同之处为series有索引,而另一个没有;series中的数据必须是一维的,而array类型不一定
2、可以把series看成一个定长的有序字典,可以通过shape,index,values等得到series的属性

其他文件的操作

文件复制操作

import shutil
shutil.copyfile(dir1,dir2)

如果路径不存在创建路径

if not os.path.exists(datapath): 
	os.mkdir(datapath)

查看当前目录下内容

import os
all_files = os.listdir(os.getcwd())
print(all_files)
filenames = os.listdir(os.curdir)  #获取当前目录中的内容
print(filenames)
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

使用python读取和保存为excel、csv、txt文件以及对DataFrame文件的基本操作 的相关文章

  • 在 Python 中使用 XPath 和 LXML

    我有一个 python 脚本 用于解析 XML 并将某些感兴趣的元素导出到 csv 文件中 我现在尝试更改脚本以允许根据条件过滤 XML 文件 等效的 XPath 查询将是 DC Events Confirmation contains T
  • 如何使用pycaffe重构caffe网络

    我想要的是 加载网络后 我将分解一些特定的图层并保存新的网络 例如 原网 数据 gt conv1 gt conv2 gt fc1 gt fc2 gt softmax New net 数据 gt conv1 1 gt conv1 2 gt c
  • 如何自动替换多个文件的文本内容中的字符?

    我有一个文件夹 myfolder包含许多乳胶表 我需要替换其中每个字符 即替换任何minus sign by an en dash 只是为了确定 我们正在替换连字符INSIDE该文件夹中的所有 tex 文件 我不关心 tex 文件名 手动执
  • Python 中 genfromtxt() 的可变列数?

    我有一个 txt具有不同长度的行的文件 每一行都是代表一条轨迹的一系列点 由于每条轨迹都有自己的长度 因此各行的长度都不同 也就是说 列数从一行到另一行不同 据我所知 genfromtxt Python 中的模块要求列数相同 gt gt g
  • Python3 查找 2 个列表中有多少个差异才能相等

    假设我们有 2 个列表 always具有相同的长度和always包含字符串 list1 sot sot ts gg gg gg list2 gg gg gg gg gg sot 我们需要找到 其中有多少项list2应该改变 以便它等于lis
  • 使用 genfromtxt 导入 numpy 中缺失值的 csv 数据

    我有一个 csv 文件 看起来像这样 实际文件有更多的列和行 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 假设文件的名称是info csv如果我尝试使用导入它 data numpy genfromtxt i
  • Pandas:根据列名进行列的成对乘法

    我有以下数据框 gt gt gt df pd DataFrame ap1 X 1 2 3 4 as1 X 1 2 3 4 ap2 X 2 2 2 2 as2 X 3 3 3 3 gt gt gt df ap1 X as1 X ap2 X a
  • Python While 循环,and (&) 运算符不起作用

    我正在努力寻找最大公因数 我写了一个糟糕的 运算密集型 算法 它将较低的值减一 使用 检查它是否均匀地划分了分子和分母 如果是 则退出程序 但是 我的 while 循环没有使用 and 运算符 因此一旦分子可整除 它就会停止 即使它不是正确
  • 我可以使用 dask 创建 multivariate_normal 矩阵吗?

    有点相关这个帖子 https stackoverflow com questions 52337612 random multivariate normal on a dask array 我正在尝试复制multivariate norma
  • 使用 python 将文本发送到带有逗号分隔符的列

    如何使用分隔符 在 Excel 中将一列分成两列 并使用 python 命名标题 这是我的代码 import openpyxl w openpyxl load workbook DDdata xlsx active w active a a
  • Python int 太大,无法放入 SQLite

    我收到错误 OverflowError Python int 太大 无法转换为 SQLite INTEGER 来自以下代码块 该文件约25GB 因此必须分部分读取 length 6128765 Works on partitions of
  • urllib2.urlopen() 是否实际获取页面?

    当我使用 urllib2 urlopen 时 我在考虑它只是为了读取标题还是实际上带回整个网页 IE 是否真的通过 urlopen 调用或 read 调用获取 HTML 页面 handle urllib2 urlopen url html
  • 根据对象变量搜索对象列表

    我有一个对象列表 这些对象具有三个变量 ID 名称和值 这个列表中可能有很多对象 我需要根据ID或Name找到一个对象 并更改值 例子 class objec public string Name public int UID public
  • Lisp 中的十进制到二进制 - 制作非嵌套列表

    当达到我的递归情况时 我使用list将未来结果附加到当前结果 但由于递归 我最终得到一个嵌套列表 当我有一个导致递归超过五次的数字时 这会导致错误 任何想法如何我可以在一个简单的非嵌套列表中获得结果 例如 CL 用户 100 8 gt BI
  • Plotly:如何避免巨大的 html 文件大小

    我有一个 3D 装箱模型 它使用绘图来绘制输出图 我注意到 绘制了 600 个项目 生成 html 文件需要很长时间 文件大小为 89M 这太疯狂了 我怀疑可能存在一些巨大的重复 或者是由单个项目的 add trace 方法引起的 阴谋 为
  • 是否可以强制浮点数的指数或有效数匹配另一个浮点数(Python)?

    这是我前几天试图解决的一个有趣的问题 是否可以强制一个的有效数或指数float与另一个人一样float在Python中 出现这个问题是因为我试图重新调整一些数据 以便最小值和最大值与另一个数据集匹配 然而 我重新调整后的数据略有偏差 大约小
  • Scrapy 蜘蛛无法工作

    由于到目前为止没有任何效果 我开始了一个新项目 python scrapy ctl py startproject Nu 我完全按照教程操作 创建了文件夹和一个新的蜘蛛 from scrapy contrib spiders import
  • Google App Engine 中的自定义身份验证

    有谁知道或知道我可以在哪里学习如何使用 Python 和 Google App Engine 创建自定义身份验证流程 我不想使用 Google 帐户进行身份验证 并且希望能够创建自己的用户 如果不是专门针对 Google App Engin
  • 使用“pythonw”(而不是“python”)运行应用程序时找不到模块

    我尝试了这个最小的例子 from flask import Flask app Flask name app route def hello world return Hello World if name main app run deb
  • 如何识别图形线条

    我有以下格式的路径的 x y 数据 示例仅用于说明 seq p1 p2 0 20 2 3 1 20 2 4 2 20 4 4 3 22 5 5 4 22 5 6 5 23 6 2 6 23 6 3 7 23 6 4 每条路径都有多个点 它们

随机推荐

  • Wireshark中lua脚本介绍

    Wireshark中lua脚本介绍 概述 Wireshark是非常强大的报文解析工具 是网络定位中不可缺的使用工具 在物联网中很多为自定义协议 wireshark无法解析 此时lua脚本就有了用武之地 Lua是一个脚本语言 不需要编译可以直
  • linux入门---用匿名管道实现一个功能

    前言 在之前的学习中我们知道通信的概念和匿名管道的使用 那么接下来我们就要用匿名管道来实现一个功能 首先我们有很多的函数需要被执行 然后创建一些子进程通过匿名管道方式给子进程传递一些信息 然后子进程就根据这些信息来确定要执行的函数并执行 比
  • Javascript中函数的bind()方法

    bind 方法主要作用是将函数绑定至某个对象 下面例子是在函数f 上调用bind 方法并传入一个对象o作为参数 这个方法将返回一个新的函数 以函数调用的方式 调用新的函数将会把原始的函数f 当做o的方法来调用 传入新函数的任何实参都将传入原
  • 数据仓库介绍与实时数仓案例

    案例与解决方案汇总页 阿里云实时计算产品案例 解决方案汇总 PPT见附件 1 数据仓库简介 数据仓库是一个面向主题的 Subject Oriented 集成的 Integrate 相对稳定的 Non Volatile 反映历史变化 Time
  • laravel框架中实现代码追踪(PHPstorm IDE)

    1 在phpstorm file settings plugins 搜索Laravel Plugin 安装 2 安装ide helper插件 1 composer require barryvdh laravel ide helper 如果
  • 多线程之守护线程

    一 守护线程介绍 线程分为用户线程和守护线程 而守护线程就是为用户线程服务的一种线程 一般具有较低的优先级 用户线程停止 守护线程也就停止了 举个例子 你在看电视 那么你在看电视可以作为一个用户线程 而电视机运行则就是守护线程 而你不看电视
  • Java Web学习笔记

    命令行生成最简单的Java Web项目 1 进入合适的目录 使用maven命令来生成web项目 mvn archetype generate DgroupId com litb aims DartifactId web app Darche
  • C++ map::begin()、end()

    在C 中 std map是一个关联容器 它提供了一种键 值对的存储方式 并按照键的排序顺序进行自动排序 map类提供了一系列的成员函数 其中包括begin 和end 函数 用于获取指向map容器中第一个元素和最后一个元素之后位置的迭代器 下
  • RPC与Netty简介

    RPC 一 Socket介绍 Socket概述 Socket 套接字就是两台主机之间逻辑连接的端点 TCP IP协议是传输层协议 主要解决数据如何在网络中传输 而HTTP是应用层协议 主要解决如何包装数据 Socket是通信的基石 是支持T
  • JsRPC技术介绍及服务搭建

    声明 本文章中所有内容仅供学习交流 不可用于任何商业用途和非法用途 否则后果自负 如有侵权 请联系作者立即删除 由于本人水平有限 如有理解或者描述不准确的地方 还望各位大佬指教 前言 Js Rpc意思就是远程调用js代码 全称 Remote
  • 13.1 二次型Quadratic Form

    文章目录 曲面 定义 举例 曲面 曲面是非常值得研究的 在制造业中 曲面尤其重要 所以我们先从曲面开始 比如以下曲面 它的方程是 z 3 x 2
  • Linux上Redis的启动、使用和停止

    0 安装Redis参考06003 redis在Linux上的安装 1 Redis的启动 1 前端模式启动 直接运行bin redis server将以前端模式启动 切换到 usr local redis redis bin目录下 然后 re
  • C/C++

    文章目录 VSCode中C编译环境配置 MinGW gcc 操作系统 win10专业版 64位 待安装的软件及工具 1 安装VSCode 2 安装C C 插件 执行代码 停止代码运行 Code Runner配置方法 3 下载及安装MinGW
  • 构造函数和工厂函数学习笔记

    之前对构造函数和工厂函数有一定的困扰 究竟什么是工厂函数什么才算是构造函数 在网上查了他两的区别后发现大多数讲的都不尽人意 可以说是越看越懵 后来被我们老大看到了 很有意思的说 这个他们说的都不是那么一回事 算了我来和你讲吧 我问你 工厂主
  • 【猿人学WEB题目专解】猿人学第1题

    据说 看我文章时 关注 点赞 收藏 的 帅哥美女们 心情都会不自觉的好起来 前言 作者简介 大家好我是 user from future 意思是 来自未来的用户 寓意着未来的自己一定很棒 个人主页 点我直达 在这里肯定能找到你想要的 专栏介
  • Openerp权限设置总结

    主要对模块下的security 目录下的文件 xxx security xml ir model access csv进行讲解 xxx security xml 1 建立组
  • python3通过pymysql连接MySQL数据库操作

    python连接MySQL数据库 所需要的工具 PyCharm pymysql插件 MySQL数据库 安装pymysql插件 在PyCharm中依次点击file gt setting gt project xxx gt project in
  • 一个简单的会先客户端/服务器应用

    不管服务器从客户端收到什么输入 都会将其回显出来 在命令行中指定TCP接口 几个注意的地方 要使用socket error要记得提前导入 from socket import error 用docopt从命令行中取得端口号 这是字符串类型的
  • 【Qt】运行py加载ui文件,顶层窗口的背景、布局等样式失效(与预览不同),或特定对象和布局无法显示(包括代码生成)

    目录 一 问题 情况 二 一些解决方法 0 分辨率 屏幕适配问题 1 运行环境问题 三 通用解决方法 更新 方法更高效耶 一 问题 情况 遇到的问题 1 运行py文件 代码中通过加载ui文件 设置为顶层窗口 运行结果与预览不同 窗口样式失效
  • 使用python读取和保存为excel、csv、txt文件以及对DataFrame文件的基本操作

    文章目录 一 对excel文件的处理 1 读取excel文件并将其内容转化DataFrame和矩阵形式 2 将数据写入xlsx文件 3 将数据保存为xlsx文件 4 使用excel对数据进行处理的缺点 二 对csv文件的处理 1 读取csv