关于读取csv文件数据——asp实现

无赖良品 2005-01-22 03:04:42
现在要从一个csv源文件中把数据读出来
请问如何实现,谢谢啦!
...全文
431 25 打赏 收藏 转发到动态 举报
写回复
用AI写文章
25 条回复
切换为时间正序
请发表友善的回复…
发表回复
baggio5277 2005-02-28
  • 打赏
  • 举报
回复
原来这么做啊! 厉害,又学到东西了
lizhyifeng 2005-02-02
  • 打赏
  • 举报
回复
mark
hhjjhjhj 2005-01-25
  • 打赏
  • 举报
回复
1.把"字段名"前面的删除
2。把"字段名"前面的分离到另一文件
3。把"字段名"提前到最前,原先前面的内容用为一条记录

反正得处理一下。
无赖良品 2005-01-24
  • 打赏
  • 举报
回复
唉!还是不行!
不能使用objRs("字段名"),只能用objRs(0)
这样以后改动太大
谁来帮帮我!
无赖良品 2005-01-24
  • 打赏
  • 举报
回复
我刚刚找到了一个办法:
在Do While Not objRs.Eof之前加上objRs.MoveNext
让它直接跳到下条记录,我没做太多的数据测试,只有几条,暂时达到了目的
可我怕数据多了之后会有副作用,各位高手帮我分析一下!
无赖良品 2005-01-24
  • 打赏
  • 举报
回复
大头,笨狼,我同事开始也说用fso处理
可是程序逻辑是从csv中取出数据,在经过画面上的控件选择出合适的数据再生成一个csv
而且数据量比较大,选择条件也挺多
这样看来用ado的方法就会很简单,所以我想知道可不可以用某种方法在ado的前提下实现!
hhjjhjhj 2005-01-24
  • 打赏
  • 举报
回复
/////第一行不是字段名怎么办////////
那就不是正宗csv文件了,得用FSO处理一下。
超级大笨狼 2005-01-24
  • 打赏
  • 举报
回复
这个对你也许有用:)
<OBJECT
id=S
style="LEFT: 0px; WIDTH: 500px; TOP: 0px; HEIGHT: 500px;border:1px solid black"
classid="clsid:369303C2-D7AC-11D0-89D5-00A0C90833E6"
VIEWASTEXT>
</OBJECT>

<SCRIPT language="vbscript">
' 笨狼画方程曲线.htm
'画坐标系
coordinate
'画方程
chart(makeStr("100 * (x^(-2))"))

sub coordinate
'画坐标系
text "0,0",0,0

draw 0,0,100,0
text "x轴",100,0

draw 0,0,0,100
text "y轴",0,100
end sub

sub text(Str,x,y)
S.DrawingSurface.Text Str,x*4-200,y*-4+200
end sub

sub draw(x1,y1,x2,y2)
S.DrawingSurface.Line (x1*4)-200,(-4 * y1)+200,(x2*4)-200,(-4 * y2+200)
end sub

sub chart(str)
dim Arr
Arr = split(str,",")
text cint(Arr(0)) & "," & cint(Arr(1)),cint(Arr(0)),cint(Arr(1))
x=cint(Arr(0))
y=cint(Arr(1))
for i=2 to ubound(Arr)-1 step 2
draw x,y,cint(Arr(i)),cint(Arr(i+1))
text cint(Arr(i)) & "," & cint(Arr(i+1)),cint(Arr(i)),cint(Arr(i+1))
x=cint(Arr(i))
y=cint(Arr(i+1))
next
end sub

function makeStr(func)
dim str,x
for x=1 to 10
str = str & "," & x*10
str = str & "," & eval(func)
next
str = mid(str,2)
makeStr = str
end function


</SCRIPT>
超级大笨狼 2005-01-24
  • 打赏
  • 举报
回复
用fso读就可以。
Set f = fso.OpenTextFile(filePath, 1, true)
if not f.AtEndOfStream then
txt= f.readAll
end if
f.Close
无赖良品 2005-01-24
  • 打赏
  • 举报
回复
谢谢 hhjjhjhj(大头)(想变胡萝卜^^) ,现在可以取到了。
可我现在要取得csv文件里面第一行不是字段名怎么办?
也就是说格式是这样的
第一行 其他信息
第二行 字段名
第三行 对应数据

有什么方法可以取到数据,谢谢!
hhjjhjhj 2005-01-22
  • 打赏
  • 举报
回复
还是解析一下吧,ADO打开文本格式数据时,是以文件夹作为“数据库”,文件作为“表”。Driver是{Microsoft Text Driver}
hhjjhjhj 2005-01-22
  • 打赏
  • 举报
回复
ODBC Driver for Text
 
oConn.Open "Driver={Microsoft Text Driver (*.txt; *.csv)};" & _
          "Dbq=c:\somepath\;" & _
          "Extensions=asc,csv,tab,txt;" & _
          "Persist Security Info=False"

Note: Specify the filename in the SQL statement. For example:

oRs.Open "Select * From customer.csv", _
        oConn, adOpenStatic, adLockReadOnly, adCmdText
无赖良品 2005-01-22
  • 打赏
  • 举报
回复
up
clcy 2005-01-22
  • 打赏
  • 举报
回复
关注

学习
无赖良品 2005-01-22
  • 打赏
  • 举报
回复
hhjjhjhj(大头)(想变胡萝卜^^) 能否说的详细点?
ADO的方式是不是把它作为数据库进行连接打开取数据?
FSO的方法我不是很清楚,只知道把文件打开,可是怎么取呢?
Newrocky 2005-01-22
  • 打赏
  • 举报
回复
o,既然是Excel的保存格式,那直接用ado引擎驱动就行啦!
无赖良品 2005-01-22
  • 打赏
  • 举报
回复
CSV文件介绍 (逗号分隔文件)
  CSV是最通用的一种文件格式,它可以非常容易地被导入各种PC表格及数据库中。

无赖良品 2005-01-22
  • 打赏
  • 举报
回复
eglic(圪圪)(国事家事天下事关我鸟事,风声雨声读书声我不作),能否说清楚点?
我做过EXCEL的下载,但是没有做过CSV的下载和读取

现在是要求从一个已知的CSV里面读取数据,再根据其他条件筛选出来下载到另一个CSV里面!
hhjjhjhj 2005-01-22
  • 打赏
  • 举报
回复
CSV原本是Excel程序的一种保存方式,其实它是以“,”为分隔的文本格式。
用记事本打开.csv文件看看就知道了。
可用FSO,或ADO,或excel取数据。
是是非非 2005-01-22
  • 打赏
  • 举报
回复
用FSO可以处理

如果是已知格式,还可以用XSL驱动把它当作数据库来处理
加载更多回复(5)

28,390

社区成员

发帖
与我相关
我的任务
社区描述
ASP即Active Server Pages,是Microsoft公司开发的服务器端脚本环境。
社区管理员
  • ASP
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧