我在pandas中有一个数据帧,我想把它写到CSV文件中。我使用的是:
df.to_csv('out.csv')
并得到错误:
UnicodeEncodeError: 'ascii' codec can't encode character u'\u03b1' in position 20: ordinal not in range(128)
有没有什么方法可以很容易地解决这个问题(例如,我的数据帧中有unicode字符)?还有,有没有一种方法可以使用“to-tab”方法(我认为不存在)写入以制表符分隔的文件,而不是CSV?
当您使用to_csv
方法将dataframe
对象存储到csv文件中时,您可能不需要存储dataframe
对象每一行的前面索引。
您可以通过向index
参数传递false
布尔值来避免这种情况。
有点像:
df.to_csv(file_name, encoding='utf-8', index=False)
因此,如果您的DataFrame对象类似于:
Color Number
0 red 22
1 blue 10
csv文件将存储:
Color,Number
red,22
blue,10
代替(传递默认值true
的情况)
,Color,Number
0,red,22
1,blue,10
要通过选项卡进行分隔,可以使用to_csv
的sep
参数:
df.to_csv(file_name, sep='\t')
若要使用特定的编码(例如“UTF-8”),请使用encoding
参数:
df.to_csv(file_name, sep='\t', encoding='utf-8')
我正在使用Spark 2.3,我需要将Spark数据帧保存到csv文件中,我正在寻找更好的方法。。查看相关/类似的问题,我发现了这个问题,但我需要一个更具体的: 如果DataFrame太大,如何避免使用Pandas?因为我使用了函数(下面的代码),它产生了: 内存不足错误(无法分配内存)。 使用文件I/O直接写入csv是更好的方法吗?它可以保留分隔符吗? 使用df。聚结(1)。写选项(“标题”、“
问题内容: 如何将大数据文件分块写入CSV文件? 我有一组大型数据文件(1M行x 20列)。但是,我只关注该数据的5列左右。 我想通过只用感兴趣的列制作这些文件的副本来使事情变得更容易,所以我可以使用较小的文件进行后期处理。因此,我计划将文件读取到数据帧中,然后写入csv文件。 我一直在研究将大数据文件以块的形式读入数据框。但是,我还无法找到有关如何将数据分块写入csv文件的任何信息。 这是我现在
问题内容: 我有一个pandas数据框,我想将其写入CSV文件。我正在使用以下方法: 并得到错误: 有什么方法可以轻松解决此问题(即我的数据框中有Unicode字符)吗?有没有一种方法可以使用例如“ to-tab”方法(我认为不存在)写入制表符分隔文件而不是CSV? 问题答案: 要用制表符分隔,可以使用参数: 要使用特定的编码(例如),请使用参数:
我想将一个数据帧保存到两个不同的csv文件中(拆分数据帧)-一个文件只包含标题,另一个文件包含其余行。 我想将这两个文件保存在同一个目录下,这样Spark处理所有逻辑将是最好的选择,如果可能的话,而不是使用pandas分割csv文件。 最有效的方法是什么? 谢谢你的帮助!
我有一个脚本可以将一整串CSV输出到文件夹C:\scripts\csv。这个特定的脚本循环了所有的数据流,并计算了数据集中前100个单词的使用情况。前100个单词及其计数被添加到一个列表中,数据流被串联,然后csv应该导出。打印包含正确的信息,但脚本不输出任何文件。
我正在尝试使用Databricks的spark-csv2.10依赖关系将一个数据帧写入到HDFS的*.csv文件。依赖关系似乎可以正常工作,因为我可以将.csv文件读入数据帧。但是当我执行写操作时,我会得到以下错误。将头写入文件后会出现异常。 当我将查询更改为时,write工作很好。 有谁能帮我一下吗? 编辑:根据Chandan的请求,这里是的结果