各位高手,求助如何用delphi读写csv文件,谢谢了 各位高手,求助如何用delphi读写csv文件,谢谢了 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 用ADO,假设你有两个csv文件tmp1.csv和tmp2.csv文件都在C:\Test文件夹下则1、连接字符串为Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test;Extended Properties=Text;2、表名为tmp1#csv和tmp2#csv也就是把Test文件夹当成数据库,tmp1.csv和tmp2.csv分别是两张表,只是表名变成了tmp1#csv和tmp2#csv操作的话跟数据库操作一样,你可以用ADO修改数据并提交,也可以用SQL语句进程Select、Inser、Update等,语法与Access的一致。 给你一个简单的方法你根据实际情况变通procedure TForm1.Button2Click(Sender: TObject);var CsvLines, CommaStr: TStringList;begin CsvLines := TStringList.Create; CommaStr := TStringList.Create; CommaStr.CommaText := '1 2 3 4 5 6 7 8 9'; CsvLines.Add(CommaStr.CommaText); CommaStr.CommaText := '9 8 7 6 5 4 3 2 1'; CsvLines.Add(CommaStr.CommaText); CsvLines.SaveToFile('test.csv'); //写入 CsvLines.LoadFromFile('test.csv'); //读取 CsvLines.Free; CommaStr.Free;end; 这个csv表中有很多行数据,每行数据用“,”分割,我想取每行的某些数据,写入时也是如次,如何处理,谢谢 procedure TForm1.Button2Click(Sender: TObject);var CsvLines, CommaStr: TStringList;begin CsvLines := TStringList.Create; CommaStr := TStringList.Create; CsvLines.LoadFromFile('test.csv'); //读取 CommaStr.CommaText := CsvLines[1]; CommaStr[2] := '.67138671875'; //99.0859375改为.67138671875 CsvLines[1] := CommaStr.CommaText; CsvLines.SaveToFile('test.csv'); //写入 CsvLines.Free; CommaStr.Free;end; 控件栏里你找不到ADO吗什么语句要看你操作CSV的环境 不好意思,ADO有7个控件,加哪个呢? 这个你单独学习一下ADO控件 或者用8楼的代码 楼主可以在delphi借助sql来取excel数据select * from opendatasource('microsoft.jet.oledb.0','data source="e:\test.xls";user id=admin;password=;extended properties=excel5.0')...sheet1$ ado 连接 csv 只支持ansi格式但大部分csv是utf-8格式啊............ 查是很方便,但是修改保存就麻烦:这是微软的官方解释用ADO/ODBC操作csv,excel文件:报“该 ISAM 不支持在链接表中更新数据”错误:出现此问题的原因 UPDATE 和 DELETE ODBC 驱动程序不允许 SQL 语句。ODBC 文本文件驱动程序不支持 DELETE 和 UPDATE 语句,由于 ODBC 依赖唯一的键索引,以确定哪条记录来更新或删除。 文本文件没有这样的索引 ;因此,只允许修改新添加记录使用 INSERT 语句没有 DELETE 或 UPDATE 语句。 直接用 Memo.loadfromFile 就可以了或者 用 ADO . dll 数组输出和调用问题! 在大富翁几天了,还没有解决的问题。。。。。。 关于多个combobox控件从数据库里提取数据(在线等) Access数据库的问题! 谁能帮我解决几个小问题? 求助:如何不用鼠标拖放的方式,直接在代码里使用一个TTimer组件 请求一个关于查询数据库并进行区配的问题 急~!!!分数全给了~ PARADOX数据库联接问题! NMHTTP使用中的问题 WebBrowser1.Navigate 无错误不显示网页空白一片 如何安装组件、使用第三方的组件?
则
1、连接字符串为Provider=Microsoft.Jet.OLEDB.4.0;Data Source=C:\Test;Extended Properties=Text;
2、表名为tmp1#csv和tmp2#csv也就是把Test文件夹当成数据库,tmp1.csv和tmp2.csv分别是两张表,只是表名变成了tmp1#csv和tmp2#csv
操作的话跟数据库操作一样,你可以用ADO修改数据并提交,也可以用SQL语句进程Select、Inser、Update等,语法与Access的一致。
你根据实际情况变通
procedure TForm1.Button2Click(Sender: TObject);
var
CsvLines, CommaStr: TStringList;
begin
CsvLines := TStringList.Create;
CommaStr := TStringList.Create;
CommaStr.CommaText := '1 2 3 4 5 6 7 8 9';
CsvLines.Add(CommaStr.CommaText);
CommaStr.CommaText := '9 8 7 6 5 4 3 2 1';
CsvLines.Add(CommaStr.CommaText);
CsvLines.SaveToFile('test.csv'); //写入
CsvLines.LoadFromFile('test.csv'); //读取
CsvLines.Free;
CommaStr.Free;
end;
var
CsvLines, CommaStr: TStringList;
begin
CsvLines := TStringList.Create;
CommaStr := TStringList.Create;
CsvLines.LoadFromFile('test.csv'); //读取
CommaStr.CommaText := CsvLines[1];
CommaStr[2] := '.67138671875'; //99.0859375改为.67138671875
CsvLines[1] := CommaStr.CommaText;
CsvLines.SaveToFile('test.csv'); //写入
CsvLines.Free;
CommaStr.Free;
end;
什么语句要看你操作CSV的环境
opendatasource('microsoft.jet.oledb.0','data source="e:\test.xls";user id=admin;password=;extended properties=excel5.0')...sheet1$
但大部分csv是utf-8格式啊............
这是微软的官方解释用ADO/ODBC操作csv,excel文件:
报“该 ISAM 不支持在链接表中更新数据”错误:
出现此问题的原因 UPDATE 和 DELETE ODBC 驱动程序不允许 SQL 语句。
ODBC 文本文件驱动程序不支持 DELETE 和 UPDATE 语句,由于 ODBC 依赖唯一的键索引,
以确定哪条记录来更新或删除。 文本文件没有这样的索引 ;
因此,只允许修改新添加记录使用 INSERT 语句没有 DELETE 或 UPDATE 语句。
或者 用 ADO .