2014-12-17 3 views
0

Использование C# Если я имел данные, выглядит следующим образом:Чтение конкретных символов столбцы из текстового файла

123456 CUSTOMER  ADDRESS CITY STATE 
123457 CUSTOMER ABC ADDRESS CITY STATE 
123458 CUSTOMER 1234 ADDRESS CITY STATE 

Для каждой строки, как я могу читать символы один через 1-6, если я знаю, что клиенты ID и 8-20, если я знаю, что это имя клиентов? Я ищу, чтобы затем взять данные (для каждой строки) и создать новый datarow в datatable.

Вот код для моего DataTable:

DataTable dt = new DataTable(); 

DataColumn CUST_ID = new DataColumn(); 
CUST_ID.DataType = Type.GetType("System.String"); 
CUST_ID.ColumnName = "CUST_ID"; 

DataColumn CUST_DESC = new DataColumn(); 
CUST_DESC.DataType = Type.GetType("System.String"); 
CUST_DESC.ColumnName = "CUST_DESC"; 

dt.Columns.Add(CUST_ID); 
dt.Columns.Add(CUST_DESC); 

Большинство находок ищут на MSDN и здесь имеет дело с разделителями файлов.

Просто надейтесь на то, чтобы направить указатель в правильном направлении.

+0

Это простой файл ввода/вывода и подстрока вызовы. Если вы ищете что-то более увлекательное, используйте [TextFieldParser] (http://msdn.microsoft.com/en-us/library/microsoft.visualbasic.fileio.textfieldparser%28v=vs.110%29.aspx) в режим фиксированной ширины. –

+0

Спасибо за информацию о textfieldparser. Я думаю, что метод подстроки будет работать, но это будет полезно для другой части проекта. –

ответ

0

Предполагая, что вы читаете из текстового файла f:

string[] inputs = File.ReadAllLines(f); 
foreach (String line in inputs) { 

     String custAdd = line.Substring(20,27); 
     //and do whatever you want with that string 

} 
+0

Спасибо! Я был так близко, что не думал о подстроке. Я проголосую за это, когда получу репутацию. –

0
string.Substring(6) 

string.Substring(6, 12) 
Смежные вопросы