
cd>csvtxt
for %%i in (csv) do (
echo 正在处理%%i。。。
for /f "skip=1 tokens=4 delims=," %%j in (‘type "%%i") do echo %%j>>csvtxt))(1)进行cmd DOS命令符状态下;
(2)如现有两个csv文件,分别是1csv和2cs,合并命令为:Copy 1csv+2csv 3csv
3csv为合并后的目标文件。先把两个表的列排成一样的,然后把其中一张表直接复制到另一张表中, 接着用你的关键字排序,把相同的排在一起,再另找一列(比如G列),比如你的关键字在A列,那么G2单元格公式为:=A1=A2,然后将G列自动填充,最后全表进行筛选,选出G列中值为true的,删除整行,剩下的极为关键字唯一的数据了。谢谢!
建议写代码处理。写这个函数,然后调用:
Public Function ReadCSVFile(ByVal strFilePath As String, ByVal strFileName As String)
Dim I As Integer
Dim intCount As Long
'打开数据链接关键
connOpen "Driver={Microsoft Text Driver (txt; csv)};" & _
"DBQ=" & strFilePath & ";Extensions=asc,csv,tab,txtersist Security Info=False"
With rs
CursorType = 2
LockType = 3
CursorLocation = 3
ActiveConnection = conn
End With
SQLcsv = "SELECT FROM [" & strFileName & "]"
rsOpen SQLcsv
rsMove (1) '移动到指定记录
intCount = DCount("[ship]", "info", "[ship]='" & rs(16) & "'") '获取表中记录重复数
If intCount > 1 Then '进行判断
Response = MsgBox("是否要覆盖原有[" & rs(16) & "],点是将更新所有[" & rs(16) & "]数据", 4 + 32 + 256, "系统提示")
If Response = vbNo Then ' 当用户按下“否”。
rsClose
connClose
Set rs = Nothing
Set conn = Nothing
Exit Function
End If
DoCmdSetWarnings False
DoCmdRunSQL "DELETE from info where ship='" & rs(16) & "'" '删除重复数据
DoCmdSetWarnings True
End If
Set conn1 = CurrentProjectConnection
sql = "Select From info "
rs1Open sql, conn1, 1, 3
Do Until rsEOF '循环更新数据表
rs1AddNew
For I = 0 To 26
rs1(I) = rs(I)
Next
rsMoveNext
Loop
rs1UpdateBatch
rs1Close
conn1Close
Set rs1 = Nothing
rsClose
connClose
Set rs = Nothing
Set conn = Nothing
End Function
这个函数是导入csv,导入后再用联合查询处理下,然后导出Excel即可。
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)