python 如何读取excel文件中的中文内容
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了python 如何读取excel文件中的中文内容相关的知识,希望对你有一定的参考价值。
哪位Python高手帮个忙!!!
大侠!!!帮忙!!
#coding:GBK
import win32com.client
#打开excel应用程序
xlsApp = win32com.client.Dispatch('Excel.Application')
#打开D:\a\下的一个EXCEL文件
xlsBook = xlsApp.Workbooks.Open('D:\\a\\a.xls')
#获取第一个工作簿
xlsSheet = xlsBook.Sheets("Sheet1")
rCount = xlsSheet.UsedRange.Rows.count
cCount = xlsSheet.UsedRange.Columns.count
#单元格(1,1)的内容为中文
x = xlsSheet.Cells(1, 1)
dir(x) # x的类型的属性表竟然为空哦!!!
#print x # x为英文和数字的时候能打印,可是中文不行!
#str(x) # 这样也是不行的
xlsBook.Close()
if xlsApp.Workbooks.count == 0:
xlsApp.Quit()
请高手帮忙.只要能把x转为unicode类型的串的行!!谢谢啦~
不行的话,你dir一下x.value. 如果是乱码,则需要转一下码就行了。本回答被提问者采纳 参考技术B 你 print x.value试试?
不行的话,你dir一下x.value. 如果是乱码,则需要转一下码就行了。 参考技术C x.decode('utf8').encode('gbk') 参考技术D tjuer说的好像可以。
如何批量读取csv格式的文件名及文件内容到新的Excel中?
现在有上万个csv文件,名称均是按照“年月日小时分”的规则命名(如1992-1-1-0900.csv、1999-8-1-1400.csv),每个csv文件都是固定格式的表格,只是数据列有区别。如何批量读取文件名及某一行的内容,分别放到新的Excel文件中?
首先肯定要用宏来实现。可以把要打开的文件放到一个统一目录里,使用宏依次打开并读取数据,然后根据你的逻辑写入新文件中。
下面是个简单例子,测试通过。
读取宏文件和csv文件在一个目录里,宏通过当前程序得到当前目录,从当前目录里依次打开每个文件(当前宏文件跳过),读取每个csv文件第2行,贴到当前宏文件里。
注意运行前只打开宏文件,另外,若需要,手工删除sheet1里存在内容,不了解你具体详细的需求,就做个例子提供一下参考。
Sub zzh_abc()
On Error GoTo out1
Dim Fso As Object
Set Fso = CreateObject("Scripting.FileSystemObject")
Set folder = Fso.GetFolder(ThisWorkbook.Path)
i = 1
For Each f In folder.Files
If InStr(f.Name, ThisWorkbook.Name) = False Then
Filename = ThisWorkbook.Path & "\" & f.Name
Workbooks.Open Filename:=Filename
Rows("2:2").Select 'select row to copy
Selection.Copy
Application.DisplayAlerts = False
Workbooks(2).Close savechanges:=False
'Worksheets("sheet1").Select
Cells(i, 1).Select 'copy by increasing one new line
ActiveSheet.Paste
i = i + 1
End If
Next
Exit Sub
out1:
End Sub 参考技术A 对于重复且有规律的操作,可以使用 Office 自带的 VBA(Visual BASIC for Application)功能来实现。
也就是说,需要一定的编程工作。 参考技术B 需要编写vba程序来完成 参考技术C 可以, 报价 80
以上是关于python 如何读取excel文件中的中文内容的主要内容,如果未能解决你的问题,请参考以下文章