我想将[3-4行]一起转储到Excel工作表中
我能够根据某些标准转储单行[如果行以//或/ *开头行,但是如果行从/ *开始,并且在3-4个句子之后,则以* /。
只有从/ *开始的第一行和以* /结尾的最后一行才能转储
我无法处理这种情况,请帮助。
以下是我的代码: -
fileopen = open("test.c")
for var in fileopen:
if var.startswith("//"):
var1 = var1 + var
continue
if var.startswith("/*"):
var1 = var1 + var
continue
else:
continue
worksheet.write(i, 5,var1,cell_format)
注意: - 上面的代码会有缩进问题。由于我不知道如何将代码正确地放在堆栈中,因此请忽略此问题。
例如: -
/ *测试为i386生成正确的数据预取指令
使用3DNow的变体! prefetchw或SSE预取指令与
地方提示。 * /
我想通过python脚本一次性转储整个数据,但我只能转储" First Line",它以/*开头。
请提出任何建议!!!
提前致谢。
答案 0 :(得分:0)
import re
fileopen = open("test.c")
# Convert file to a string
source_code = ""
for var in fileopen:
source_code += var
# Find the first comment from the source code
pattern = r'//.*?$|/\*.*?\*/|\'(?:\\.|[^\\\'])*\'|"(?:\\.|[^\\"])*"'
var1 = re.search(pattern, source_code, re.DOTALL | re.MULTILINE).group() # first comment
var1 = unicode(var1, errors='ignore')
worksheet.write(i, 5, var1, cell_format)
答案 1 :(得分:0)
此VBA读取文本文件并将所有注释行转储到第一个工作表
Public Sub test()
Dim iFN As Integer
Dim sLine As String
Dim iMultiple As Integer
Dim sComment As String
Dim iRow As Integer
iFN = FreeFile()
iMultiple = 0
sComment = ""
iRow = 1
'Change this path as required
Open "d:\temp\xl.txt" For Input As #iFN
While Not EOF(iFN)
sLine = ""
Line Input #iFN, sLine
If iMultiple = 1 Then
sComment = sComment & sLine
If Left(sLine, 2) = "*/" Then
iMultiple = 0
End If
Else
If Left(sLine, 2) = "//" Then
sComment = sLine
ElseIf Left(sLine, 2) = "/*" Then
sComment = sLine
iMultiple = 1
End If
End If
If iMultiple = 0 And Trim(sComment) <> "" Then
ThisWorkbook.Worksheets(1).Cells(iRow, 1).Value2 = sComment
iRow = iRow + 1
sComment = ""
End If
Wend
Close #iFN
MsgBox "Done!"
End Sub