扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
使用print函数。
成都创新互联专注于南岳企业网站建设,响应式网站设计,购物商城网站建设。南岳网站建设公司,为南岳等地区提供建站服务。全流程按需策划设计,专业设计,全程项目跟踪,成都创新互联专业和态度为您提供的服务
print(*objects,sep='',end='\n',file=sys.stdout, flush=False)
objects -- 复数,表示可以一次输出多个对象。输出多个对象时,需要用 , 分隔。
sep -- 用来间隔多个对象,默认值是一个空格。
end -- 用来设定以什么结尾。默认值是换行符 \n,我们可以换成其他字符串。
file -- 要写入的文件对象。
flush -- 输出是否被缓存通常决定于 file,但如果 flush 关键字参数为 True,流会被强制刷新。
Python3中使用:print()函数
用法(从IDLE帮助上复制):
print(...)
print(value, ..., sep=' ', end='\n', file=sys.stdout, flush=False)
Prints the values to a stream, or to sys.stdout by default.
Optional keyword arguments:
file: a file-like object (stream); defaults to the current sys.stdout.
sep: string inserted between values, default a space.
end: string appended after the last value, default a newline.
flush: whether to forcibly flush the stream.
value即你要输出的值(大多数类型均可),sep是这多个值用什么分割(默认为空格),end是这个输出的末尾是什么(默认是换行)。
使用sys.stdout.write方法输出内容,内容以'\r'结尾即可,打印进度示例代码如下:
import sys, time
for i in range(1, 101):
sys.stdout.write('[' + str(i) + '%]' + '' * i + '\r') #打印内容到控制台,\r表示回到输出内容的最左边
time.sleep(0.01)
print函数是python语言中的一个输出函数,可以输出以下几种内容
1. 字符串和数值类型 可以直接输出
print( 1)
1
print( "Hello World")
Hello World
2.变量
无论什么类型,数值,布尔,列表,字典...都可以直接输出
x = 12
print(x)
12
s = 'Hello'
print(s)
Hello
L = [ 1, 2, 'a']
print(L)
[ 1, 2, 'a']
t = ( 1, 2, 'a')
print(t)
( 1, 2, 'a')
d = { 'a': 1, 'b': 2}
print(d)
{ 'a': 1, 'b': 2}
3.格式化输出
类似于C中的 printf
s
'Hello'
x = len(s)
print( "The length of %s is %d" % (s,x) )
The length of Hello is 5
【注意】
Python2和3的print函数格式不同,3要求加括号(print())
缩进最好使用4个空格
用openpyxl读取excel的load_workbook有个data_only参数。
例如:
yb_wb = load_workbook(u"D:\Desktop\xxx.xlsx", data_only=True)顾名思义,True时,只读data,忽略公式。
但是有个情景是——得先保留公式,根据旧公式写入新公式。然后再读取值进行操作。也就是说先data_only = False,然后再data_only = True。
这样会导致读取值操作的时候,公式全部没有了。对,全部为空。就是这么奇怪。
wb = openpyxl.load_workbook(‘abc.xlsx’, data_only=True)
当’abc.xlsx’被生成并在Excel程序中打开并保存之后(这个过程Excel会把公式结果计算出来),该文件附带有两套值,一套是公式全都没有计算的(data_only=False(默认)),一套是公式计算了结果的(data_only=True)。(如果没有被Excel打开并保存,则只有一套值(data_only=False的那套,公式没有计算结果的)。
此时,以data_only=True或默认data_only=False打开会得到两种不同的结果,各自独立,即data_only=True状态下打开的,会发现公式结果为None(空值)或者一个计算好的常数,而不会看到它原本的公式是如何。而data_only=False则只会显示公式而已。因此,data_only=True状态下打开,如果最后用save()函数保存了,则原xlsx文件中,公式会被替换为常数结果或空值。而data_only=False状态下打开,最后用save()函数保存了的话,原xlsx文件也会只剩下data_only=False的那套值(即公式),另一套(data_only=True)的值会丢失,如想重新获得两套值,则仍旧需要用Excel程序打开该文件并保存。
解决方法:
可以定义一个刷新函数重新打开一次并保存。
from win32com.client import Dispatch
def just_open(filename):
xlApp = Dispatch("Excel.Application")
xlApp.Visible = False
xlBook = xlApp.Workbooks.Open(filename)
xlBook.Save()
xlBook.Close()
print('自动更新结束')
filename = r"D:\Desktop\xxx.xlsx"
just_open(filename)
先调用win32com打开一次,就OK,原公式就会变成值,后面就可以愉快的操作了。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流