將TXT檔案中的資料整理成sql資料庫

2021-07-09 23:59:55 字數 2161 閱讀 5299

在工作中遇到乙個問題,合作單位給了乙個400m的txt檔案,裡面包含了工作中需要的資料,於是便有了這種需求和下面的**,在此貼出來,共享。

txt檔案中資料排列規則:1、每一行是一條資料; 2、每個字段之間用|| 分割。

我首先用sql server 進行資料匯入,但總是報錯,因為該txt檔案中有些資料不完整,使得直接匯入失敗。

**寫的有點亂,主要是為例快速實現功能,其他的考慮少一些,見諒。

下面這段**執行了3個多小時,完成了221萬條記錄的讀取、分段和寫入資料庫

public partial class form1 : form

public static string[,] test;

private void form1_load(object sender, eventargs e)

messagebox.show(row.tostring());

test = new string[row, 20];

while (!srwrite.endofstream)

//將資料寫入資料庫

string connstr = "data source=.;initial catalog=*****;user id=sa;password=***";

sqlconnection conn = new sqlconnection();

conn.connectionstring = connstr;

conn.open();

sqlcommand cmd = new sqlcommand();

cmd.connection = conn;

cmd.parameters.add("@t0", sqldbtype.text);

cmd.parameters.add("@t1", sqldbtype.text);

cmd.parameters.add("@t2", sqldbtype.text);

cmd.parameters.add("@t3", sqldbtype.text);

cmd.parameters.add("@t4", sqldbtype.text);

cmd.parameters.add("@t5", sqldbtype.text);

cmd.parameters.add("@t6", sqldbtype.text);

cmd.parameters.add("@t7", sqldbtype.text);

cmd.parameters.add("@t8", sqldbtype.text);

cmd.parameters.add("@t9", sqldbtype.text);

cmd.parameters.add("@t10", sqldbtype.text);

cmd.parameters.add("@t11", sqldbtype.text);

cmd.parameters.add("@t12", sqldbtype.text);

cmd.parameters.add("@t13", sqldbtype.text);

cmd.parameters.add("@t14", sqldbtype.text);

try}

catch (exception ex)

將二維陣列test繫結到datatable

// datatable ta = bingdtable(row);

= ta;

messagebox.show("匯入資料完畢!恭喜恭喜!!本次共匯入資料"+row.tostring()+ "條,可與資料庫中資料總條數進行比較");

}private static datatable bingdtable(int row)

for (int i = 0; i < row; i++)

ta.rows.add(dr);

}return ta;

}//讀取第乙個strread[0]中的內容,並用||加以區分提取,嘗試依次

public void tiqu(string strtq, int everrow2)

}//tiqu()結束

public sqlconnection conndb()

}

將資料整理成不含重複資訊的資料

set 函式建立乙個無序不重複元素集,可進行關係測試,刪除重複資料,還可以計算交集 差集 並集等。x set runoob y set google x,y set b r u o n set e o g l 重複的被刪除 x y 交集 set o x y 並集 set b e g l o n r ...

C 將txt中的資料讀入程式中

這個雖然不難,但自己總是忘記,每次想找到自己想要的又比較麻煩,所以乾脆自己記錄下來,以後需要用的話就方便多了!其實就是用到乙個檔案流,類似於cin和cout,使用cin將資料輸入記憶體,使用cout將資料輸出到顯示屏乙個道理,一旦建立乙個檔案流,也可以像這樣將資料輸入輸出,所以簡短程式如下 incl...

python讀取txt檔案中的資料

讀取txt檔案中的某一列 int l.split 0 for l in open a.txt 但是讀不了最後一列,出現 indexerror list index out of range的問題。參考 講的很詳細,對於這樣的問題 每行有3列,依次讀取,空格間隔,分別將每行的不同列存到不同的陣列a,b...