Python Excel操作模块XlsxWriter之写入worksheet.write()
2018-02-06 11:34
966 查看
worksheet.write()
wirte(row, col, *args)向工作表单元格写入普通的数据。
参数:
row - 单元格所在的行(索引从0开始计数)
col - 单元格所在的列(索引从0开始计数)
*args - 传递到子方法的附加参数诸如数字,字符串,单元格格式。
Excel区分不同的数据类型诸如字符串,数字,空格,公式和超链接。为了简化向XlsxWriter文件写入数据的过程,write()方法作为以下几个特定方法的假名(译者注:意思就是通常不需要程序员显式地指定以下方法,在使用write()方法时XlxsWriter会按照规则判断数据类型并采用对应的方法写入数据):
write_string()
write_number()
write_blank()
write_formula()
write_datetime()
write_boolean()
write_url()
write()处理数据的规则如下:
数据类型诸如float,
int, long,
decimal.Decimal和fractions.Fraction 使用write_number()方法。
数据类型诸如datatime.datetime,datetime.datedatetime.time 或
datetime.timedelta 使用write_datetime()方法。
None和空字符串“”使用write_blank()方法。
数据类型bool使用write_boolean()。
字符串(String)则按照以下规则处理数据:
以“=”开始的匹配公式字符串使用write_formula()方法。这个方法可以被覆盖,见下。
匹配支持的URL的字符串使用write_url()方法。这个方法可以被覆盖,见下。
为了防止Excel警告“Numbers Stored as Text”,当Workbook()构造器strings_to_numbers选项为True时,被float()方法转换为数字的字符串会使用write_number()方法。见下。
不匹配以上条件的字符串会使用write_string()方法。
如果值不匹配以上所有类型,最终会使用float()来检查它是否与用户定义的浮点类型相对应。如果不对应,则会使用write_number()方法。
最后,如果这些规则全都不匹配,那么程序会抛TypeError异常。
这是一些例子:
worksheet.write(0, 0, 'Hello') # write_string() worksheet.write(1, 0, 'World') # write_string() worksheet.write(2, 0, 2) # write_number() worksheet.write(3, 0, 3.00001) # write_number() worksheet.write(4, 0, '=SIN(PI()/4)') # write_formula() worksheet.write(5, 0, '') # write_blank() worksheet.write(6, 0, None) # write_blank()这将创建一个像下面这样的工作表:
注意
Workbook()构造器选项接收三个可选参数,可以用来覆盖write()函数的字符串处理。这些选项与它们的默认值如下:
xlsxwriter.Workbook(filename, {'strings_to_numbers': False, 'strings_to_formulas': True, 'strings_to_urls': True})write()方法支持两种形式的表示法来指定单元格的位置:行-列(Row-column)表示法和A1表示法:
# 这两种形式是等价的 worksheet.write(0, 0, 'Hello') worksheet.write('A1', 'Hello')在子write方法中cell_format参数是用来应用格式化到单元格的,这个参数是可选的但在启用时它应当是有效的格式化对象:
cell_format = workbook.add_format({'bold': True, 'italic': True}) worksheet.write(0, 0, 'Hello', cell_format) # 单元格是加粗(Blod)和斜体(Italic)的
相关文章推荐
- Python Excel操作模块XlsxWriter之写入行worksheet.write_row()
- Python Excel操作模块XlsxWriter之写入数字worksheet.write_number()
- Python Excel操作模块XlsxWriter之写入字符串worksheet.write_string()
- Python Excel操作模块XlsxWriter之写入数组公式worksheet.write_array_formula()
- Python Excel操作模块XlsxWriter之写入空格worksheet.write_blank()
- Python Excel操作模块XlsxWriter之写入布尔值worksheet.write_boolean()
- Python Excel操作模块XlsxWriter之写入日期worksheet.write_datetime()
- Python Excel操作模块XlsxWriter之添加文本框 worksheet.insert_textbox()
- Python Excel操作模块XlsxWriter之添加图表 worksheet.insert_chart()
- Python Excel操作模块XlsxWriter之插入按钮 worksheet.insert_button()
- Python3.x 操作Excel(写)——XlsxWriter 模块
- Python自动化运维笔记(七):XlsxWriter模块实现Excel操作(上)
- Python Excel操作模块XlsxWriter之 The Worksheet Class 工作表类
- python笔记系列:数据报表之Excel操作模块:XlsxWriter
- python操作excel之xlrd、xlwt模块详解
- python读写Excel文件--使用xlrd模块读取,xlwt模块写入
- python操作excel之 模块 xlrd (详解)
- Python xlsxwriter操作excel一例
- Python3使用pandas模块读写excel操作示例
- python3csv与xlsx文件操作模块(csv、xlsxwriter)