我有一个包含1031家公司信息的txt文件。我需要将它们放入带有标题名称名称 - 地址 - 联系人 - 电话 - 传真 - MOB-WEB-EMAIL 的Excel表格中。由于有1031家公司我不想一个接一个地做。在Excel表格中获取所有内容的最简单方法是什么?
"Company Name"
"Address ; XXXXXXXXX"
"Contact ; XYXYXYXYX"
"Tel ; 1234567"
"Fax ; 123456"
"Mob ; 12345555"
"Web ;www.www.com"
"E-Mail ;xxxx@xx.com"
答案 0 :(得分:0)
我建议您执行以下步骤(仅当每个块具有相同的行数时)。
添加一个包含数字的列:
+----+----------+---------------------------------------+
| | A | B |
+----+----------+---------------------------------------+
| 1 | Column B | Column B |
| 2 | 1 | ompany Name |
| 3 | 2 | |
| 4 | 3 | Address : XXXXXXXXX |
| 5 | 4 | Contact : XYXYXYXYX Tel : 1234567 |
| 6 | 5 | Fax : 123456 Mob : 12345555 |
| 7 | 6 | Web :www.www.com E-Mail :xxxx@xx.com |
| 8 | | |
| 9 | | |
| 10 | 1 | Company Name |
| 11 | 2 | |
| 12 | 3 | Address : XXXXXXXXX |
| 13 | 4 | Contact : XYXYXYXYX Tel : 1234567 |
| 14 | 5 | Fax : 123456 Mob : 12345555 |
| 15 | 6 | Web :www.www.com E-Mail :xxxx@xx.com |
| 16 | | |
| 17 | 1 | Company Name |
| 18 | 2 | |
| 19 | 3 | Address : XXXXXXXXX |
| 20 | 4 | Contact : XYXYXYXYX Tel : 1234567 |
| 21 | 5 | Fax : 123456 Mob : 12345555 |
| 22 | 6 | Web :www.www.com E-Mail :xxxx@xx.com |
| 23 | | |
| 24 | | . |
| 25 | | . |
| 26 | | . |
| 27 | | . |
| 28 | 1 | Company Name |
| 29 | 2 | |
| 30 | 3 | Address : XXXXXXXXX |
| 31 | 4 | Contact : XYXYXYXYX Tel : 1234567 |
| 32 | 5 | Fax : 123456 Mob : 12345555 |
| 33 | 6 | Web :www.www.com E-Mail :xxxx@xx.com |
+----+----------+---------------------------------------+
考虑最好的方法是对第一个块进行数字化(单元格A2:A7),然后复制A2:A7并在B列中过滤包含公司名称的单元格(或不包含“Adress”,“联系人”的单元格“,传真”或“网络”。粘贴在A列中,您将拥有所有编号的行。
现在你将矩阵过滤行ID 1,2,3,...转换为你会发现这个
+---+--------------+---------------------+-----------------------------------+--------------+----------------+------------------+---------------------+
| | A | B | C | D | E | F | G |
+---+--------------+---------------------+-----------------------------------+--------------+----------------+------------------+---------------------+
| 1 | ompany Name | Address : XXXXXXXXX | Contact : XYXYXYXYX Tel : 1234567 | Fax : 123456 | Mob : 12345555 | Web :www.www.com | E-Mail :xxxx@xx.com |
| 2 | Company Name | Address : XXXXXXXXX | Contact : XYXYXYXYX Tel : 1234567 | Fax : 123456 | Mob : 12345555 | Web :www.www.com | E-Mail :xxxx@xx.com |
| 3 | Company Name | Address : XXXXXXXXX | Contact : XYXYXYXYX Tel : 1234567 | Fax : 123456 | Mob : 12345555 | Web :www.www.com | E-Mail :xxxx@xx.com |
| 4 | Company Name | Address : XXXXXXXXX | Contact : XYXYXYXYX Tel : 1234567 | Fax : 123456 | Mob : 12345555 | Web :www.www.com | E-Mail :xxxx@xx.com |
+---+--------------+---------------------+-----------------------------------+--------------+----------------+------------------+---------------------+
答案 1 :(得分:0)
在这个答案中,我将解释如何将您的数据转换为CSV 该文件的每一行都是一个数据记录。每个记录由一个或多个字段组成,以分号分隔,因为逗号通常用作小数分隔符。
所以最后信息如下:
Company Name;XXXXXXXXX;XYXYXYXYX;1234567;123456;12345555;;xxxx@xx.com
Company Name;XXXXXXXXX;XYXYXYXYX;1234567;123456;12345555;www.www.com;xxxx@xx.com
Company Name;XXXXXXXXX;XYXYXYXYX;1234567;123456;12345555;www.www.com;xxxx@xx.com
或
"Company Name"; "XXXXXXXXX"; "XYXYXYXYX"; "1234567"; "123456"; "12345555"; ""; "xxxx@xx.com"
"Company Name"; "XXXXXXXXX"; "XYXYXYXYX"; "1234567"; "123456"; "12345555"; "www.www.com"; "xxxx@xx.com"
"Company Name"; "XXXXXXXXX"; "XYXYXYXYX"; "1234567"; "123456"; "12345555"; "www.www.com"; "xxxx@xx.com"
根据您的数据,您可以选择使用“”封装文本。因为Csv规则说:
1 /。必须引用带有嵌入式逗号或双引号字符的字段。
1997,Ford,E350,"Super, luxurious truck"
2 /。每个嵌入的双引号字符必须用一对双引号字符表示1997,Ford,E350,"Super, ""luxurious"" truck"
3 /。必须引用包含嵌入换行符的字段(但是,许多CSV实现不支持嵌入换行符)1997,Ford,E350,"Go get one now they are going fast"
使用编辑器的计数功能,并计算"
,;
检查地址中的回车也是一件好事。如果没有,则无需封装ᕕ(ᐛ)ᕗ
我将选择封装所有Field,这样我就不必费心去做Stupid Data了。我们将在此处通过;
重新填充原始数据的每个“标题”。
要在一行中创建有关公司的所有信息,您可以使用鼠标选择标题和新换行符。
使用Notepad ++ / SublimeText
按\r\nAddress :
或"; "
重新执行;
的每次迭代。对文件中的每个标题执行相同操作。
\r\n
是因为您在公司名称和地址之间有换行符。而且您希望每条信息都在一条线上。
在每行的开头和结尾添加"
选择:
;
文字指示符= "
如果您保存为.csv
,则所有第2部分都无用。我只想告诉你转换助手。以及如何使用;
,'
和Fax :Mob : 12345555
等数据处理正确的地址。如果您有奇怪的数据,可以添加转义。
Disclamer:
始终处理副本,按计数"
和;
启动所有这些操作,其他分隔符Excel可能会错过理解。逃避它们。
顺便说一句,这比超级用户更胜一筹。
如果您熟悉编程语言,请使用他在字符串重新编写中的构建来在1秒内格式化您的文档。 用这样的东西:
static void CSVformat() {
string Input =
@"Company Name
Address : XXXXXXXXX
Contact : XYXYXYXYX Tel : 1234567
Fax : 123456 Mob : 12345555
Web :www.www.com E-Mail :xxxx@xx.com
Company Name
Address : XXXXXXXXX
Contact : XYXYXYXYX Tel : 1234567
Fax : 123456 Mob : 12345555
Web :www.www.com E-Mail :xxxx@xx.com
Company Name
Address : XXXXXXXXX
Contact : XYXYXYXYX Tel : 1234567
Fax : 123456 Mob : 12345555
Web :www.www.com E-Mail :xxxx@xx.com";
var dd= clean(Input);
}
static string clean(string s)
{
StringBuilder sb = new StringBuilder(s);
sb.Replace(
@"
Address : ", "\"; \"");
sb.Replace(
@"
Contact : ", "\"; \"");
sb.Replace(
@"
Fax : ", "\"; \"");
sb.Replace(
@"
Web :", "\"; \"");
sb.Replace(" Tel : ", "\"; \"");
sb.Replace(" Mob : ", "\"; \"");
sb.Replace(" E-Mail :", "\"; \"");
sb.Replace("\r\n\r\n\r\n", "\r\n");
sb.Replace("\r\n\r\n", "\r\n");
sb.Replace("\r\n", "\"\r\n\"");
return '"'+sb.ToString()+'"';
}