Kob*_*kie 6 smalltalk visualworks
我试图在smalltalk(visualworks)中读取和处理csv文件的内容,但我似乎很难将字符串拆分成数组.以下是我能够开始工作的代码.我缺少的是将myLine变量的内容(一个以逗号分隔的字符串)拆分为字符串数组的片段,以添加到TwoDList中.请帮助您提供有关如何处理此问题的任何信息.谢谢
SpreadsheetReadCSV: inFilename
|inStream myLine rcnt|
rcnt := 0.
" scan thru the text lines, using a traditional i/o loop "
inStream := (inFilename asFilename) readStream .
[ inStream atEnd ] whileFalse: [
rcnt := rcnt + 1.
myLine := inStream upTo: Character cr.
"Process the commadelimited string here"
].
inStream inspect.
inStream close.
^myLine.
Run Code Online (Sandbox Code Playgroud)
小智 6
1)您也可以将字符串转换为流,因此您可以使用与将文件解析为行相同的技术:
myLine := (inStream upTo: Character cr) readStream.
[ myLine atEnd ] whileFalse: [ | myCell |
myCell := myLine upTo: $,.
"Do whatever with the cell" ]
Run Code Online (Sandbox Code Playgroud)
2)您可以使用tokensBasedOn将字符串拆分为多个部分:
myLine tokensBasedOn: $,
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2994 次 |
| 最近记录: |