问题标签 [csvkit]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
1344 浏览

csv - 如何使用 csvkit 移动列或交换两列?

我正在使用csvkit来操作 csv 文件,但找不到如何执行此操作:

  1. 在另一列之前或之后移动一列
  2. 交换两列但保持其他列不变

有人知道该怎么做吗?

0 投票
1 回答
539 浏览

python - 使用 CSV 工具包向 CSV 添加新列并使用来自 socket.gethostname() 的结果填充它

我正在尝试编写一个 python 脚本来解析一个 csv 文件(results.csv),该文件采用其中列出的主机名查找 eac 主机名的 IP 地址,并将此数据附加到新列中的 csv 文件中。

我已经做了一些搜索并且遇到了一些问题。另外我必须强调,我对 Python 非常陌生,这是我正在做的事情,以增加我的知识。

我在 OS X 上使用 python 2.7.x,我的代码如下:

当我在 PyCharm 中运行它时,我收到以下错误:

/System/Library/Frameworks/Python.framework/Versions/2.7/bin/python2.7 /Users/xxxxxx/PycharmProjects/typosquating/IP_lookup.py Traceback(最近一次调用最后):文件“/Users/xxxxxx/PycharmProjects/typosquating /IP_lookup.py",第 10 行,在 IP = socket.gethostname(row) TypeError: gethostname() 不接受任何参数(1 个给定)

进程以退出代码 1 结束

谁能阐明我在做什么?我可以以与上述相同的方式在另一个脚本上使用 socket.gethostname() 来检查 results.csv 文件的内容并在屏幕上输出每个主机名的相关 IP,但这种用法似乎失败了。

谢谢你的帮助。

0 投票
1 回答
255 浏览

python - csvkit:对于 csv 到 Table,你如何保留引用的字符串?

使用 csvkit 时,我无法阻止字符数据转换为数字数据。对于下面的示例,我的第一列被转换为“int”

数据:(test.csv)

代码片段:

输出:

我有一个有效的技巧,但会感谢“from_csv”或替代建议的任何帮助更好的参数。(注意,在这一步之后,csvkit 命令用于生成 Postgres 创建表语句。)

工作技巧:

0 投票
3 回答
1632 浏览

python - 使用 csvkit 将 json 转换为 csv 时出错

嗨,我下载了一个 csvkit 到我的 macbook,按照教程在此处输入链接描述一切顺利,但是当我尝试使用此命令转换 json 文件时

这是错误

我不知道该放什么或在哪里放置错误指定的密钥,这是我的 json 文件

0 投票
3 回答
3515 浏览

sql - 如何让 csvkit/csvsql 为 csv 文件生成插入语句?

我想为一些 csv 文件生成 sql insert 语句。

我可以使用单行 awk 脚本来做到这一点,例如:

但这仍然需要一些努力。csvkit 中的 csvsql 似乎会自动生成插入语句。我检查了文档并使用了以下命令,但它不会生成插入语句。

它生成创建表语句。但是文档说:

我应该怎么做才能使用 csvkit 获取插入 sql 语句?

0 投票
2 回答
509 浏览

python - Python CSVkit 比较 CSV 文件

我有两个看起来像这样的 CSV 文件。

CSV 1

CSV2

使用 Python 和 CSVkit,我试图通过将其与 CSV2 进行比较来创建 CSV1 中行的输出 CSV。有没有人可以为我指明方向的例子?

0 投票
1 回答
265 浏览

python - Python Pandas 比较 CSV keyerror

我正在使用 Python Pandas 尝试将 CSV2 中的引用与 CSV1 中的数据相匹配,并创建一个新的输出文件。

CSV1

CSV2

代码

当我运行它时,我得到一个 keyerror 供参考,可能是导致问题的数据中的空格吗?数据以逗号分隔。

0 投票
1 回答
1052 浏览

perl - 将 bcp 文件转换为标准 csv 文件

我正在寻找可以将我的 bcp 文件转换为 csv 文件的任何已知工具或脚本。

输入 bcp 文件格式:

  1. 由“XXXXXXX”分隔的字段
  2. 由 'YYYYYY' 分隔的行
  3. 字段包含特殊字符,如 CRLF、CR、LF、"、制表符、逗号等...

我想要的输出格式:

  1. 用逗号分隔的标准 csv 格式文件
  2. 字段值应包含包含特殊字符的原始内容(我的意思是不添加或删除特殊字符,CR也不应删除)
  3. 该文件能够按列索引/名称剪切以选择感兴趣的列。

为此,我做了以下事情:

  1. 使用少量 sed 命令将 bcp 文件转换为 csv,这样我可以在 MS excel 程序中以正确对齐方式打开文件,并且可以看到内容没有改变(如预期的那样)。

    sed -i 's/\"/\"\"/g' $inFile

    sed -i 's/XXXXXXX/","/g' $inFile

    sed -i 's/YYYYYYY/"\n"/g' $inFile

    sed -i '1s/^/\"/' $inFile

    sed -i '$s/\"//' $inFile

    sed -i -e '${/^$/d}' $inFile

    sed -i '1s/^/"Header","added","here"\n/' $inFile

  2. 尝试过 csvkit 工具:csvcut $infile 此工具正在选择首选列,但会修改内容,例如删除 CR。

这种转换有什么想法吗?

0 投票
1 回答
89 浏览

json - in2csv 在 JSON 上失败

我有一个无法正确转换数据值的小 JSON 文件。有问题的值是“id”字段,转换产生 2016-05-06。我有一个更大的文件(相同的格式),它工作正常。有什么帮助吗?

0 投票
3 回答
1789 浏览

python - 从外壳到 jupyter 笔记本单元的管道

有谁知道如何将 shell 命令的输出(一系列 csvkit 工具调用)流式传输到 jupyter 笔记本单元格,但特别是流式传输到 Pandas DataFrame。从单元格的内容来看,它看起来像这样:

只有上述不是真正的工作。shell 的输出是非常大的数百万行,Pandas 可以处理得很好,但我不希望输出作为字符串完整地加载到内存中。

我正在寻找一种允许 Pandas 读取输出的管道/流式传输解决方案。