通过HTML表格剪切和粘贴创建CSV

问题描述 投票:0回答:2

我正在尝试从网站上手动抓取表格信息,以导入到Drupal网站。

数据具有以下格式:

Opening Balances of Banks/Discount Houses   76991.16
Rediscounted Bills                          0
Standing Lending Facility (Net)             0
Standing Deposit Facility (Net)             522078.9
Repo                                        0
Reverse Repo                                0
OMO Sales/Under-Writing by MMDs             0
OMO Repayment                               0

将其粘贴到电子表格中,我可以创建一个CSV文件以导入到Drupal中。 CSV生成如下:

Opening Balances of Banks/Discount Houses,76991.16
,
Rediscounted Bills,0
,
Standing Lending Facility (Net),0
,
Standing Deposit Facility (Net),522078.9
,
Repo,0
,
Reverse Repo,0
,
OMO Sales/Under-Writing by MMDs,0
,
OMO Repayment,0

我的问题是CSV错误。第一列中的数据应代表CSV的标头,这意味着它们应在CSV的第一行而不是左侧列出。然后,以下各行应是要作为标题中的项目出现而导入的数据序列。

如何以正确的顺序生成CSV文件,可以解决我的问题?

有数百行数据要导入,因此手动方法不可行。

UPDATE:两个完整记录:

Date                                        Financial Data As At 5/8/2014
Opening Balances of Banks/Discount Houses   76991.16
Rediscounted Bills                          0
Standing Lending Facility (Net)             0
Standing Deposit Facility (Net)             522078.9
Repo                                        0
Reverse Repo                                0
OMO Sales/Under-Writing by MMDs             0
OMO Repayment                               0
Primary Market Sales (e.g NTBs, FGN Bonds)  0
Primary Market Repayment                    0
CRR (Debit/Credit)                          0
Net Foreign Exchange Auction (WDAS)         0
Statutory Allocations (FAAC, VAT,etc)       0
Joint Venture Cash Call Payment             0
Net Clearing (Lagos/Abuja)                  0
NDIC Premium (Debit/Credit)                 0
Other Major (Debit/Credit)                  0
Date                                        Financial Data As At 5/7/2014
Opening Balances of Banks/Discount Houses   98357.49
Rediscounted Bills                          0
Standing Lending Facility (Net)             475
Standing Deposit Facility (Net)             483157.7
Repo                                        0
Reverse Repo                                0
OMO Sales/Under-Writing by MMDs             0
OMO Repayment                               237451.43
Primary Market Sales (e.g NTBs, FGN Bonds)  157177.87
Primary Market Repayment                    157057.31
CRR (Debit/Credit)                          0
Net Foreign Exchange Auction (WDAS)         0
Statutory Allocations (FAAC, VAT,etc)       0
Joint Venture Cash Call Payment             0
Net Clearing (Lagos/Abuja)                  0
NDIC Premium (Debit/Credit)                 0
Other Major (Debit/Credit)                  0
csv import drupal-7 nodes spreadsheet
2个回答
0
投票

TextDistil将为您完成此操作。 (公开-我是作者)。假设您要生成多行(已描述的8列),那么最简单的方法是:

请注意,将模式粘贴到TextDistil中时不应包含引号

  • 将示例中的行剪切并粘贴到输入窗口中
  • 使用CTRL-N添加''replace text'配方,匹配项为“财务数据截至”以清除列值
  • 在行首以“ Other major”开始的所有行之前,先添加“在行首插入文本]插入”!“。此步骤仅是为了简化下一个步骤。
  • “ ^ [^!]”匹配项下添加[在“]之后加入行配方。第一个'^'与行的开头匹配,括号内的部分与非感叹号匹配。最终结果是此模式与所有不以感叹号开头的行匹配。由于这是一个“后连接线”操作,因此所有与该模式匹配的线都将连接以下线。因此,一条记录的所有行现在都合并为一个。
  • 添加'选择文本(仅匹配项)'配方,匹配表达式“ \ d [\ d ./]*”]]和“,”作为连接字符串。这与您拥有的所有数字和日期匹配。
  • 在此阶段,您应该在输出窗口中仅看到两行,每行对应一条记录。
  • 2014年5月8日,76991.16,0,0,522078.9,0,0,0,0,0,0,0,0,0,0,0,0,05/7 / 2014,98357.49,0,475,483157.7,0,0,0,237451.43,157177.87,157057.31,0,0,0,0,0,0,0]

[您可能会发现'all'视图很有用-它使您既可以看到最终输出,也可以看到要添加的配方的输入和输出。

第一食谱

“第一份食谱”

第二食谱

<< img src =“ https://image.soinside.com/eyJ1cmwiOiAiaHR0cHM6Ly9pLnN0YWNrLmltZ3VyLmNvbS9kdjZGaS5wbmcifQ==” alt =“第二食谱”>“ >>

第三食谱

“第三食谱”“ >>

最终配方

“最终食谱”

CSV似乎很简单,但事实并非如此。试想一下,如果在第一列的中间,您有一个逗号,然后爆炸。

现在想象有两个逗号。

:-)

我不知道您将使用哪种语言来工作(也许是PHP),但是我认为您必须编写一些程序到


0
投票

CSV似乎很简单,但事实并非如此。试想一下,如果在第一列的中间,您有一个逗号,然后爆炸。

现在想象有两个逗号。

© www.soinside.com 2019 - 2024. All rights reserved.