Имя пользователя:
Пароль:
 

Показать сообщение отдельно

Ветеран


Сообщения: 27449
Благодарности: 8088

Профиль | Отправить PM | Цитировать


Space-06, тогда хотелось бы увидеть реальный пример:
Цитата Space-06:
файл csv »
поскольку приведённый Вами выше пример — как бы не CSV.

Предположим, что файл — CSV (хорошо бы ещё, для чистоты, иметь текстовые поля заключёнными в кавычки, а так придётся, как минимум, сделать десятичным разделителем точку), например, такого вида:
Source.txt
Код: Выделить весь код
07.06.2011 8:01, 62.80.230.41, еее.еее.еее.еее, TCP, 3389, 1875, 0.022325, 10
07.06.2011 8:03, 62.80.230.41, еее.еее.еее.еее, TCP, 3389, 1875, 0.05, 10
07.06.2011 8:01, 81.23.3.110, еее.еее.еее.еее, TCP, 3389, 1987, 0.022293, 10
08.06.2011 9:02, 81.23.3.110, еее.еее.еее.еее, TCP, 3389, 1987, 0.06, 10
Тогда, файл Schema.ini может выглядеть примерно так:
читать дальше »
Код: Выделить весь код
[Source.txt]
ColNameHeader=False
Format=Delimited(,)
TextDelimiter=none
CharacterSet=ANSI
Col1=DateTime Date
Col2=IPAddress char
Col3=Name char
Col4=Protocol char
Col5=Port Integer
Col6=SomeField1 Integer
Col7=Cost Float
Col8=SomeField2 Integer


А само приложение — наподобие:
читать дальше »
Код: Выделить весь код
AutoItSetOption("MustDeclareVars", 1)

Local Const $adOpenStatic     = 3
Local Const $adLockOptimistic = 3
Local Const $adCmdText        = 1


Local $oRecordSet = ObjCreate("ADODB.Recordset")


$oRecordSet.Open("SELECT " & _
	"FIRST([DateTime]) AS [FDateTime], " & _
	"LAST([DateTime]) AS [LDateTime], " & _
	"[IPAddress], " & _
	"COUNT(*) AS [Count], " & _
	"FIRST([Name]) AS [FName], " & _
	"SUM([Cost]) AS [TotalCost] " & _
	"FROM [" & "Source.txt" & "] " & _
	"GROUP BY [IPAddress] ", _
	"Provider=Microsoft.Jet.OLEDB.4.0;Data Source=" & "E:\Песочница\0058" & ";Extended Properties=""text;""", _
	$adOpenStatic, $adLockOptimistic, $adCmdText)

With $oRecordSet.Fields
	ConsoleWrite(.Item("FDateTime").Name & @TAB)
	ConsoleWrite(.Item("LDateTime").Name & @TAB)
	ConsoleWrite(.Item("IPAddress").Name & @TAB)
	ConsoleWrite(.Item("Count").Name & @TAB)
	ConsoleWrite(.Item("FName").Name & @TAB)
	ConsoleWrite(.Item("TotalCost").Name & @CRLF)
EndWith

ConsoleWrite("------------------------------------------------------------------------------------" & @CRLF)

While Not $oRecordSet.EOF()
	With $oRecordSet.Fields
		ConsoleWrite(.Item("FDateTime").Value & @TAB)
		ConsoleWrite(.Item("LDateTime").Value & @TAB)
		ConsoleWrite(.Item("IPAddress").Value & @TAB)
		ConsoleWrite(.Item("Count").Value & @TAB)
		ConsoleWrite(.Item("FName").Value & @TAB)
		ConsoleWrite(.Item("TotalCost").Value & @CRLF)
	EndWith

	$oRecordSet.MoveNext
WEnd

ConsoleWrite("------------------------------------------------------------------------------------" & @CRLF)

$oRecordSet.Close
$oRecordSet = 0

Exit(0)

где:
Код: Выделить весь код
E:\Песочница\0058
— путь к текстовому файлу «Source.txt» и лежащему рядом с ним «Schema.ini».

Результат работы скрипта:
читать дальше »

Код: Выделить весь код
FDateTime	LDateTime	IPAddress	Count	FName	TotalCost
------------------------------------------------------------------------------------
20110607080100	20110607080300	62.80.230.41	2	ХХХ.ХХХ.ХХХ.ХХХ	0.072325
20110607080100	20110608090200	81.23.3.110	2	ХХХ.ХХХ.ХХХ.ХХХ	0.082293
------------------------------------------------------------------------------------


Цитата Space-06:
…чтоб результат потом выводился в др файл.
Приведите для этого пример результирующего файла.

Отправлено: 02:35, 29-06-2011 | #5