1.如何合并2个CSV文件?如果我这样尝试,它不会添加任何列,但2文件作为一个新行?列不知何故从来没有添加在末尾(在最后一列之后)。但总是在第2行或最后一行末尾以下。product2.csv只有标题,没有表格内容。这可能是因为?
1.当我没有CSV文件但仍然想添加一个列时,我可以用awk或sed来完成吗?
1.如何删除第4列?
1.如何删除第4行?
我试过了
paste -d, product1.csv product2.csv > result.csv
或
cat product1.csv product2.csv > result.csv
product1.csv
Id;ReferenceNumber;EAN;Manu;Price_B2BR;Price_B2BD;Price_B2BDP;Price_B2BDA;Price_B2CEV;Price_B2CIV;VATRate;VATCountry;Currency;Stock;Delivery;StockNextDeliveryAccessVolume;WarrantyCode;EOL;Promotion;NonReturnable;RemainingStock;ImagePrimary;ImageAdditional;ProductLink;GrossWeight;NetWeight;RelatedProducts;AccessoryProducts;AA
3910112;BP9641;1,83E+10;APC;191;191;0;0;0;0;19;DE;EUR;8;;0;GH24;0;0;0;0;;;;0,34;;;;502,8
4640420;A-LTO7XSA;6,92E+11;Tandberg Data;1344,9;1344,9;0;0;3633;4214,28;19;DE;EUR;1;04.11.2023;1;GH36;0;0;0;0;;;;5,75;;;;438
5180134;403358811;2,80E+09;Intel;252,9;252,9;0;0;0;0;19;DE;EUR;0;;0;G24;1;0;0;0;;;;0,01;;;;16,44
1480155;100380;;Microsoft;11;11;0;0;14,32;16,61;19;DE;EUR;100;;0;;0;0;0;0;;;;0;;;;34,75
product2.csv
Can be Sold?;Can be Purchased?;Product Type;Category;Unit of Measure;Purchase Unit of Measure;Customer Taxes;Vendor Taxes;Invoicing Policy;Description for Customers;Quantity On Hand;image path/url
我的结果总是这样的:
result.csv
Id;ReferenceNumber;EAN;Manu;Price_B2BR;Price_B2BD;Price_B2BDP;Price_B2BDA;Price_B2CEV;Price_B2CIV;VATRate;VATCountry;Currency;Stock;Delivery;StockNextDeliveryAccessVolume;WarrantyCode;EOL;Promotion;NonReturnable;RemainingStock;ImagePrimary;ImageAdditional;ProductLink;GrossWeight;NetWeight;RelatedProducts;AccessoryProducts;AA
3910112;BP9641;1,83E+10;APC;191;191;0;0;0;0;19;DE;EUR;8;;0;GH24;0;0;0;0;;;;0,34;;;;502,8
4640420;A-LTO7XSA;6,92E+11;Tandberg Data;1344,9;1344,9;0;0;3633;4214,28;19;DE;EUR;1;04.11.2023;1;GH36;0;0;0;0;;;;5,75;;;;438
5180134;403358811;2,80E+09;Intel;252,9;252,9;0;0;0;0;19;DE;EUR;0;;0;G24;1;0;0;0;;;;0,01;;;;16,44
1480155;100380;;Microsoft;11;11;0;0;14,32;16,61;19;DE;EUR;100;;0;;0;0;0;0;;;;0;;;;34,75
Can be Sold?;Can be Purchased?;Product Type;Category;Unit of Measure;Purchase Unit of Measure;Customer Taxes;Vendor Taxes;Invoicing Policy;Description for Customers;Quantity On Hand;image path/url
但它应该看起来像这样:
Id;ReferenceNumber;EAN;Manu;Price_B2BR;Price_B2BD;Price_B2BDP;Price_B2BDA;Price_B2CEV;Price_B2CIV;VATRate;VATCountry;Currency;Stock;Delivery;StockNextDeliveryAccessVolume;WarrantyCode;EOL;Promotion;NonReturnable;RemainingStock;ImagePrimary;ImageAdditional;ProductLink;GrossWeight;NetWeight;RelatedProducts;AccessoryProducts;AA;Can be Sold?;Can be Purchased?;Product Type;Category;Unit of Measure;Purchase Unit of Measure;Customer Taxes;Vendor Taxes;Invoicing Policy;Description for Customers;Quantity On Hand;image path/url
3910112;BP9641;1,83E+10;APC;191;191;0;0;0;0;19;DE;EUR;8;;0;GH24;0;0;0;0;;;;0,34;;;;502,8;;;;;;;;;;;;
4640420;A-LTO7XSA;6,92E+11;Tandberg Data;1344,9;1344,9;0;0;3633;4214,28;19;DE;EUR;1;04.11.2023;1;GH36;0;0;0;0;;;;5,75;;;;438;;;;;;;;;;;;
5180134;403358811;2,80E+09;Intel;252,9;252,9;0;0;0;0;19;DE;EUR;0;;0;G24;1;0;0;0;;;;0,01;;;;16,44;;;;;;;;;;;;
1480155;100380;;Microsoft;11;11;0;0;14,32;16,61;19;DE;EUR;100;;0;;0;0;0;0;;;;0;;;;34,75;;;;;;;;;;;;
1条答案
按热度按时间fcy6dtqo1#
我将按照以下方式利用GNU
AWK
完成此任务,为了简洁起见,我将使用其他文件,让file1.csv
内容并且
file2.csv
含量是那么
给出输出
说明:我告诉GNU
AWK
分号是两个字段的分隔符(FS
)和输出字段分隔符(OFS
)当全局处理第一行时(第一个文件的第一行,注意我首先RAMfile2.csv
)我只存储整行变量append
中的($0
),并指示GNU AWK转到next
行,因此不执行其他操作,处理文件第一行时(除第1行外)我将整行与;
和append
连接,将其后的字段数保存在变量fieldsnum
中,对于除第一行以外的每一行,我设置NF
为计算字段数,print
为计算字段数。如果行的字段数较少,则在末尾添加新字段,并且字段为空。如果您想了解更多有关FNR或NF的NR的信息,请读取8 Powerful Awk Built-in Variables – FS, OFS, RS, ORS, NR, NF, FILENAME, FNR