對於數據挖掘項目,我需要將80個製表符分隔的文件(每個100 MB)轉換爲CSV文件。任何人都知道一些在這種情況下可以方便使用的工具。將分隔符分隔爲CSV
-4
A
回答
0
下載python:https://www.python.org/downloads/
安裝它。
並運行類似於以下內容的腳本。
以下內容作爲convert_tsv_to_csv.py
或任何在.py
結束:
import csv
with open('C:\\path\to\file','r') as f:
tab_file = csv.reader(f, dialect=csv.excel_tab)
with open('C:\path\to\outfile.csv','w') as g:
comma_file = csv.writer(g, dialect=csv.excel)
for row in tab_file:
comma_file.writerow(row)
更改路徑和運行它想:python convert_tsv_to_csv.py
的基本思想: 如果文件很大,通過閱讀這些線線。
0
瞭解您的基本工具。
在任何的UNIX/Linux/OSX系統中,每個下面的命令應該做的伎倆:
sed -i -e 's/\t/,/g' *.csv
perl -i -p -e 's/\t/,/g' *.csv
這些執行基本選項卡以逗號替換。如果您的數據包含帶有表格或逗號的列,或者爲您編寫文件名,他們將不會處理引用和轉義等內容。請注意,sed
和perl
的語法非常相似...... -i
就地編輯,-e
執行命令,s///
是正則表達式替換的語法。等
無論哪種方式,您的基本Unix工具這份工作是
- 極快(以下簡稱「流編輯器」
sed
是很好的優化,低級別的C代碼) - 方便(只是一些10按鍵!)
- 使用方便,一旦你學會的基礎知識(即閱讀手冊)
相關問題
- 1. Python CSV分隔符:分隔單元
- 2. XPath分隔符/分隔符
- 3. 強制CSV分隔符
- 4. 更改CSV分隔符Clipobard.GetData()
- 5. 用CSV分隔字符串
- 6. 製表符分隔到csv
- 7. SED語句更改/修改CSV分隔符和分隔符
- 8. 如何將UITableViewCell分隔符更改爲自定義分隔符?
- 9. 使用String.split()將文本分隔符分割爲csv文件
- 10. 將csv分爲定期間隔
- 11. 將多個分隔符/字段分隔符導入到Mysql CSV文件
- 12. 使用Ruby CSV更改導出的CSV中的字段分隔符/分隔符
- 13. 打開製表符分隔的CSV並保存爲製表符分隔
- 14. 使用SED或AWK使用分隔符分隔.csv列數據
- 15. CSV文件分隔
- 16. Java CSV行分隔
- 17. 分隔帶分隔符的字符串
- 18. 帶分隔符的PHP分隔符
- 19. 分隔字符串與分隔符
- 20. 用「||」分隔字符串分隔符
- 21. 分隔符分隔字符串RadTreeView VB.NET
- 22. 用分隔符分隔字符串
- 23. 將excel單元格中的數據與分隔符分隔爲「;」
- 24. 分隔多個分隔符,同時保持分隔符爲字典鍵
- 25. Scriptella將csv的分隔符更改爲製表符
- 26. pandas read_csv使用unicode字符作爲分隔符/分隔符。
- 27. 導出爲CSV將所有字符分隔爲字段
- 28. 如何將帶分隔符的CSV文件導入爲「;」和小數點分隔符爲「,」到SAS?
- 29. 如何將分隔符/分隔符添加到ListView?
- 30. 將數字與由$符號分隔的字符串分隔嗎?
有很多的工具來做到這一點。您使用什麼操作系統? – jmunsch 2014-11-14 20:49:36
感謝您的回覆,我正在使用Windows 8.1。或者,如果在其他操作系統中有任何方便的工具,我可以切換。 – shubham90 2014-11-14 20:53:57
如果你不熟悉任何腳本語言,我會建議Open Office Calc:http://stackoverflow.com/questions/2549800/how-to-convert-tsv-to-csv-using-openoffice只要文件沒有超過限制?:https://wiki.openoffice.org/wiki/Documentation/FAQ/Calc/Miscellaneous/What%27s_the_maximum_number_of_rows_and_cells_for_a_spreadsheet_file%3F或者嘗試安裝python並使用'csv'模塊。 – jmunsch 2014-11-14 21:11:38