создать файл csv

У меня есть сценарий, который генерирует файл .txt .

В этом файле есть столбцов, разделенных табуляцией. Количество столбцов зависит от входного файла.

Как преобразовать файл .txt в формат csv? Я хочу, чтобы столбцы в файле .txt находились в отдельных столбцах в файле csv.

образец:

.txt файл:

header1    header2   header3            header4
1          B         423.sagd.32        333 
2          A         YXTS.a324.gfd33    555 
3          F         343.asr            222
4          D         cbs.98st.asd       4232  

CSV-файл (ожидаемый результат):

       A          B         C                  D 
 1     header1    header2   header3            header4
 2     1          B         423.sagd.32        333 
 3     2          A         YXTS.a324.gfd33    555 
 4     3          F         343.asr            222
 5     4          D         cbs.98st.asd       4232 

Примечание. В файле нет фиксированного количества столбцов или строк.

-1
22.12.2016, 22:33
2 ответа

В файле .csv нет ничего волшебного. Он просто означает значения, разделенные запятыми (иногда табуляцией).

mv myfile.txt myfile.csv

done

1
28.01.2020, 05:10

Преобразование файла с разделителями табуляции в файл с разделителями-запятыми:

$ tr '\t' ',' <input.txt >output.csv

Это приведет к наивной замене всех табуляций на запятые.

Если ваши данные уже содержат запятые, то эти поля данных должны быть процитированы. Это нетривиальная операция. Для этого лучше всего использовать инструмент с поддержкой CSV, например csvkit:

$ csvformat -t input.txt >output.csv
0
28.01.2020, 05:10

Теги

Похожие вопросы