首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >熊猫to_csv产量报价问题

熊猫to_csv产量报价问题
EN

Stack Overflow用户
提问于 2014-01-15 20:01:08
回答 5查看 146.7K关注 0票数 81

我很难让熊猫dataframe.to_csv(...)的输出正确引用字符串。

代码语言:javascript
运行
复制
import pandas as pd

text = 'this is "out text"'
df = pd.DataFrame(index=['1'],columns=['1','2'])
df.loc['1','1']=123
df.loc['1','2']=text
df.to_csv('foo.txt',index=False,header=False)

产出如下:

123,“这是”外文“

但我想:

123,这是“外文”

有人知道怎么把这事做好吗?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2014-01-15 20:11:09

例如,您可以通过quoting=csv.QUOTE_NONE

代码语言:javascript
运行
复制
>>> df.to_csv('foo.txt',index=False,header=False)
>>> !cat foo.txt
123,"this is ""out text"""
>>> import csv
>>> df.to_csv('foo.txt',index=False,header=False, quoting=csv.QUOTE_NONE)
>>> !cat foo.txt
123,this is "out text"

但根据我的经验,最好多引用,而不是少引用。

票数 122
EN

Stack Overflow用户

发布于 2015-07-02 22:03:14

注意:目前Pandas string documentation中有一个小错误。上面写着:

  • 引用: int,控制是否应该识别引号。值取自csv.QUOTE_*值。QUOTE_MINIMAL、QUOTE_ALL、QUOTE_NONE和QUOTE_NONNUMERIC的可接受值为0、1、2和3, 分别使用。

但这改变了csv定义QUOTE_NONE和QUOTE_NONNUMERIC变量的方式。

代码语言:javascript
运行
复制
In [13]: import csv
In [14]: csv.QUOTE_NONE
Out[14]: 3
票数 34
EN

Stack Overflow用户

发布于 2018-08-21 05:06:30

要使用quoting=csv.QUOTE_NONE,您需要设置escapechar

代码语言:javascript
运行
复制
# Create a tab-separated file with quotes
$ echo abc$'\t'defg$'\t'$'"xyz"' > in.tsv
$ cat in.tsv
abc defg    "xyz"

# Gotcha the quotes disappears in `"..."`
$ python3
>>> import pandas as pd
>>> import csv
>>> df = pd.read("in.tsv", sep="\t")
>>> df = pd.read_csv("in.tsv", sep="\t")
>>> df
Empty DataFrame
Columns: [abc, defg, xyz]
Index: []


# When reading in pandas, to read the `"..."` quotes,
# you have to explicitly say there's no `quotechar`
>>> df = pd.read_csv("in.tsv", sep="\t", quotechar='\0')
>>> df
Empty DataFrame
Columns: [abc, defg, "xyz"]
Index: []

# To print out without the quotes.
>> df.to_csv("out.tsv", , sep="\t", quoting=csv.QUOTE_NONE, quotechar="",  escapechar="\\")
票数 29
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/21147058

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档