python写csv文件分隔符问题(python分割csv文件数据)
pandas read_csv编码问题
一早上就连遇两个中文编码问题报错,果然在python里中文编码就是踩不完的坑。
UnicodeDecodeError: 'utf-8' codec can't decode byte 0xca in position 8: invalid continuation byte
csv文件当中的中文编码问题,打开时加入encoding=‘gb2312’即可解决。
pd.read_csv('a.csv',encoding='gb2312')
pandas.errors.ParserError: Error tokenizing data. C error: Expected 4 fields in line 225, saw 6
因为csv文件默认分隔符是逗号分隔符,此时若文件中储存的信息也含有逗号时,解析器会把储存信息里的逗号也当成分隔符,就会导致列数不一致,read_csv打开报错。特别是在中文里又经常使用逗号,稍不注意就会出错。
解决办法是在写入csv文件的时候使用其他分隔符,“|”,“\t”等。记得打开时也要加入分隔符说明delimiter = ‘\t’
pd.read_csv('a.csv',delimiter='\t')
如果csv文件不是自己写的,就手动把逗号删掉再打开吧。
利用Python如何将数据写到CSV文件中
如果你的数据是列表格式,可以使用一个迭代器,将数据写入文件,同时添加必要的分隔符以构成csv文件
如果数据是字典格式,需要考虑使用换行符或者其他特殊符号来分割每个字典元素(包括键和值)。键和值可以考虑使用和之前不重复的分隔符进行分割。
这样就构成了一个csv文件(csv使用分隔符分割值的文件)
操作方法如下:
1,使用读写追加的方式打开csv文件。
2,找到csv文件的结尾。
3,在结尾使用和之前csv使用的分割相同的格式进行数据添加。
4,关闭文件
python保存csv文件全为一列,值带引号,分隔符为分号,该怎么做,或者csv的格式怎么转换?
笨方法,替换,用";"替换, 再用换行/n替换"/n 最后首尾加" 就好了
python 为什么write_csv('123456') 每个字符会被分隔符分开, 而 write_csv(['123456']) 就不会被分开
一个是字符串,包含6个字符。另一个是列表,只包含一个字符串