python3 产生的数据写入excel 问题,盼高手解答,谢谢
- 资格考试
- 2022-09-23 17:43:12
想问下python3怎么将列表数据逐行写入excel表格呢?
import xlwtf = xlwt.Workbook() #创建工作薄sheet1 = f.add_sheet(u'sheet1',cell_overwrite_ok=True) #创建sheetlist = [1,2,3,4,5]j = 0for i in list:sheet1.write(j,0,i) #循环写入 竖Python excel 写入的问题
(1)对Excel的写操作:
#-*-coding:utf-8-*-
#导入xlwt模块
importxlwt
#创建一个Workbook对象,这就相当于创建了一个Excel文件
book=xlwt.Workbook(encoding='utf-8',style_compression=0)
'''
Workbook类初始化时有encoding和style_compression参数
encoding:设置字符编码,一般要这样设置:w=Workbook(encoding='utf-8'),就可以在excel中输出中文了。
默认是ascii。当然要记得在文件头部添加:
#!/usr/bin/envpython
#-*-coding:utf-8-*-
style_compression:表示是否压缩,不常用。
'''
#创建一个sheet对象,一个sheet对象对应Excel文件中的一张表格。
#在电脑桌面右键新建一个Excel文件,其中就包含sheet1,sheet2,sheet3三张表
sheet=book.add_sheet('test',cell_overwrite_ok=True)
#其中的test是这张表的名字,cell_overwrite_ok,表示是否可以覆盖单元格,其实是Worksheet实例化的一个参数,默认值是False
#向表test中添加数据
sheet.write(0,0,'EnglishName')#其中的'0-行,0-列'指定表中的单元,'EnglishName'是向该单元写入的内容
sheet.write(1,0,'Marcovaldo')
txt1='中文名字'
sheet.write(0,1,txt1.decode('utf-8'))#此处需要将中文字符串解码成unicode码,否则会报错
txt2='马可瓦多'
sheet.write(1,1,txt2.decode('utf-8'))
#最后,将以上操作保存到指定的Excel文件中
book.save(r'e:\test1.xls')#在字符串前加r,声明为raw字符串,这样就不会处理其中的转义了。否则,可能会报错
关于用python写入excel,新手求教
我看到有人回复了,但是不正确,xlrd库是用于读取excel的,xlwt库才是用于创建和写excel的。
而如果你需要一个更加复杂的读写一个excel表,就需要用xlutils库了。
下面是一个写的例子,xlwt库需要自行安装,然后第二行创建一个Excel表,第三行添加一个sheet,第四行在指定行列写入数据,第五行保存为Excel文件。
importxlwt
wbk=xlwt.Workbook()
sheet=wbk.add_sheet(‘sheet1’)
sheet.write(0,1,'testtext')
wbk.save(‘test.xls’)
python 写入excel 遇到缓冲区问题 程序要循环很多次,每次都要读取不同的数据有多也
google搜下吧,python操作excel的模块应该有很多的,你的文件结构还是很清晰的,写个简单parser应该不难。如果你经常要处理这类文本的话,推荐用心写个parser,不要用正则。 你的文件结构差不多是这样,2个等于号行之间是整个序列信息的汇总。 之后----号那行之间是可以扔掉的注释,之后有个n个(optional?)section(section起始于某个有:的行,到下个:行之间终止,都是序列各个元件的成分),我没有py里写parser的经验,不过如果你用parsec的话(这个原生haskell模组有各种语言的binding或类似模组),我恰巧几天前写过一个parsec使用小例子python3 txt导excel
可使用如下VBA代码:
SubPick_Average()
OnErrorResumeNext
DimmyFileAsString
WithApplication.FileDialog(msoFileDialogFolderPicker)
.Show
.AllowMultiSelect=False
.Title="pleaseselectthepathoffile"
myFile=.SelectedItems(1)
EndWith
DimmyDocAsString
myDoc=Dir(myFile&"\"&"*.txt")
DimjAsSingle
j=1
DoWhileLen(myDoc)<>0
OpenmyFile&"\"&myDocForInputAs#1
DimmyTextAsString
myText=StrConv(InputB(LOF(1),1),vbUnicode)
DimmyValueAsVariant
myValue=Split(myText,Chr(13))
DimiAsSingle
DimmySumAsSingle
mySum=0
Fori=0ToUBound(myValue)
mySum=mySum+myValue(i)*1
Next
DimmySheetAsWorksheet
SetmySheet=ActiveSheet
mySheet.Cells(j,1)=mySum/UBound(myValue)
j=j+1
Close
myDoc=Dir
Loop
EndSub
展开全文阅读