Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/json/13.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
将.csv转换为.jsonl python_Python_Json_Pandas_Csv_Data Conversion - Fatal编程技术网

将.csv转换为.jsonl python

将.csv转换为.jsonl python,python,json,pandas,csv,data-conversion,Python,Json,Pandas,Csv,Data Conversion,我有一个.csv文件,我想把它转换成.jsonl文件 我找到了Pandasto_json方法: df = pd.read_csv('DIRECTORY/texts1.csv', sep=';') df.to_json ('DIRECTORY/texts1.json') 但是,我不知道有什么函数可以将其转换为.jsonl格式。我怎样才能做到这一点呢?我不确定这个结果是否符合“jsonl”语法,但这是一个可能会导致相关结果的黑客行为 主要技巧是在导出时将输入文件的每一行视为单独的JSON文件,然后

我有一个.csv文件,我想把它转换成.jsonl文件

我找到了Pandas
to_json
方法:

df = pd.read_csv('DIRECTORY/texts1.csv', sep=';')
df.to_json ('DIRECTORY/texts1.json')

但是,我不知道有什么函数可以将其转换为.jsonl格式。我怎样才能做到这一点呢?

我不确定这个结果是否符合“jsonl”语法,但这是一个可能会导致相关结果的黑客行为

主要技巧是在导出时将输入文件的每一行视为单独的JSON文件,然后从磁盘读回JSON并将其视为不同的jsonl行

我从一个包含

hello, from, this, file
another, amazing, line, csv
last, line, of, file
下面的代码片段构建在

导入熊猫
df=pandas.read_csv(“myfile.csv”,header=None)
file_to_write=“”
对于df.index中的索引:
df.loc[index].to_json(“row{}.json.format(index))
以open(“row{}.json.format(index))作为文件句柄:
file\u content=file\u handle.read()
文件写入+=文件内容+“\n”
以open(“result.jsonl”、“w”)作为文件句柄:
文件句柄写入(文件到写入)
生成的.jsonl文件包含

{"0":"hello","1":" from","2":" this","3":" file"}
{"0":"another","1":" amazing","2":" line","3":" csv"}
{"0":"last","1":" line","2":" of","3":" file"}

如果不需要行索引,可以从上面Python代码段的.to_json()行中删除这些索引。

什么是
.jsonl
?没有这样的标准或文件格式。有很多人试图劫持将未插入的JSON文档存储在单独的行中的常见做法,但这并不是任何类型的stantad—您只需将未插入的JSON字符串附加到文件的末尾,正如我所说,
有很多人试图劫持常见做法
。只需将JSON字符串附加到所需文件的末尾。那个这就是重点。你只需要读到下一个换行就可以阅读JSON文档,而不是整个文件。事实上,
ndjson.org
出现在
jsonlines.org
之前,包含与历史
JSON.org
站点相同的文本,如果使用
orient='records',lines=True
,则与Douglas Crockford或ECMAFrom没有任何关系,您可以看到
to_json
可以将每一行写入单独的行中。From:
如果“orient”是“records”,则写出行分隔的json格式。如果“定向”不正确,则将抛出ValueError,因为其他对象与列表不同。