- Java 双重比较
- java - 比较器与 Apache BeanComparator
- Objective-C 完成 block 导致额外的方法调用?
- database - RESTful URI 是否应该公开数据库主键?
我正在尝试将来自华盛顿邮报的阿片类药物数据(一个 60 gig csv)加载到 MySQl 中。问题是第一个列标题是空白的(该列中的行有数字,只是没有标题),当我尝试使用表数据导入向导加载它时,MySQl 在 MySQL 中给我一个错误。
Starting...
Prepare Import...
Prepare Import done
Import data file....
Traceback (most recent call last):
File "/usr/share/mysql-workbench/libraries/workbench/wizard_progress_page_widget.py", line 192, in thread_work
self.func()
File "/usr/lib/mysql-workbench/modules/sqlide_power_import_wizard.py", line 125, in start_import
retval = self.module.start(self.stop)
File "/usr/lib/mysql-workbench/modules/sqlide_power_import_export_be.py", line 271, in start
ret = self.start_import()
File "/usr/lib/mysql-workbench/modules/sqlide_power_import_export_be.py", line 408, in start_import
if not self.prepare_new_table():
File "/usr/lib/mysql-workbench/modules/sqlide_power_import_export_be.py", line 237, in prepare_new_table
self._editor.executeManagementCommand(""" CREATE TABLE %s (%s)""" % (self._table_w_prefix, ", ".join(["`%s` %s" % (col['name'], col["type"]) for col in self._mapping])), 1)
DBError: ("Incorrect column name ''", 1166)
ERROR: Import data file: ("Incorrect column name ''", 1166)
Failed
正如您在底部看到的,错误是''的列名称不正确,即空列标题。但由于我无法将整个 60gig csv 加载到内存中,因此我无法更改列名。
我想要的是能够编辑第一列,使其具有诸如“索引”或“#”之类的名称。任何让 MySQL 停止拒绝它的东西。
我主要使用 python,所以如果有人能给我一种在 python 中更改该列名称的方法,我将非常感激。这是我每隔几周就会回来解决的一个问题,但到目前为止还没有取得任何成功。无论你能给我什么帮助都会很棒。
我不记得我试过什么了。我在这里搜索并尝试了一些东西,但我找不到完全符合我的问题的解决方案。
我想要的只是更改第一列的名称,这样当我将它加载到 MySQl 中时,就不会出现该错误。
最佳答案
打开文件;阅读第一行;修改它;将其写入新文件;然后一次读取其余的行并将它们写入新文件。
with open('old.csv') as f, open('new.csv', 'w') as g:
hdr = next(f)
hdr = 'idx' + hdr
g.write(hdr)
for line in f:
g.write(line)
关于python - 如何在不将整个文件加载到内存的情况下更改大型(60gig)csv 文件的列名?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57734720/
我正在尝试对表进行批量插入: use SalesDWH go BULK INSERT dbo.npi FROM 'S:\tmp\npi.csv' WITH (FIELDTERMINATOR=',',
我有一个 20 gig 的表,每天都有大量的插入和更新。这张表也经常被搜索。我想知道 MySQL 索引是否会变得零散并且可能需要重建或类似的东西。 我发现很难弄清楚检查表、维修表或类似表中的哪一个?
我正在尝试绘制这种 csv 格式的内容:时间戳、值。但这些值不是实数,而是大值的缩写(k = 1000、M = 1000000 等)。 2012-02-24 09:07:01, 8.1M 2012-0
Java 6 开箱即用地支持 10 gig 以太网吗? 它似乎不需要更改 Java,但我想我记得 Java 7 正在添加 10 gig 支持。 最佳答案 Java 在使用套接字等时不关心底层网络基础设
关于如何打开这个文件有什么想法吗? 我对这个文件的大小别无选择。 它的常规文本数据 我不能分解文件的原因是因为它是远程存储的,我唯一能做的就是在上面运行 sql 语句 请帮忙! 最佳答案 对于 Win
如果我的 FTP 客户端打算上传大小超过 4 gig 的文件,假设我正在传输数据,我的指针将在大约 4 gig 时撞到墙上,如果它是 32 位指针,对吧?我试图想象幕后发生的事情,但无法想象这是如何工
我的任务是将数据从MongoDB数据库移植到MySQL数据库。 (有很强的移植理由-必须这样做)。 MongoDB集合: 大约有1.1亿个文档 的大小为60 GB 具有重要属性的索引 正在运行Wind
我的任务是将数据从MongoDB数据库移植到MySQL数据库。 (有很强的移植理由-必须这样做)。 MongoDB集合: 大约有1.1亿个文档 的大小为60 GB 具有重要属性的索引 正在运行Wind
新的 Java7 SDP 是否为 10 gig 网络提供任何优势? 我们使用 SolarFlare 10 gig NIC,它通过 OpenOnload 驱动程序提供 DMA。我对 Infiniband
我正在使用 libpcap 库在 C 中编写数据包解析器。这是简单的代码 int main(int argc, char *argv[]) { pcap_t *pcap; const
我们有几个自定义 portlet 应用程序在 Liferay Portal 内运行。 该解决方案安装在客户的入门级计算机上(RAM <= 1 Giga)。由于繁文缛节,客户短期内不太可能转向高端计算机
我已经阅读了很多关于终结器如何工作的文章。这是我的理解:如果一个类实现了 finalize 方法,Jvm 将创建一个 Finalizer 实例作为该对象的看门狗。 当 GC 运行时,它会标记要处理的对
我正在尝试编写一些代码处理 JSON 文档,其中存储在文件中的字符串值非常长(超过 10 亿个字符)。我不想将整个字符串保留在内存中(因为我可以在流中处理它们)。但是我在 Jackson 解析器中找不
我有一些 .gz 压缩文件,未压缩时大约有 5-7gig。这些是平面文件。 我写了一个程序,它接受一个未压缩的文件,并逐行读取它,效果很好。 现在我希望能够打开内存中的压缩文件并运行我的小程序。 我研
$fp_src=fopen('file','r'); $filter = stream_filter_prepend($fp_src, 'convert.iconv.ISO-8859-1/UTF-8'
我想将它用作 iOS 开发机器(因为我没有其他 Mac),但我需要知道它是否足以用于 iOS 开发。PS 够用吗? 最佳答案 我已经尝试过使用 4 GB 的 Xcode 开发,我可以说这是可能的。然而
我是一名优秀的程序员,十分优秀!