【发布时间】:2017-05-16 05:51:32
【问题描述】:
我有以下字符串:
>>> line = '\x00\t\x007\x00\t\x00C\x00a\x00r\x00d\x00i\x00o\x00 \x00M\x00e\x00t\x00a\x00b\x00o\x00l\x00i\x00c\x00 \x00C\x00a\x00r\x00e\x00\t\x00\t\x00\t\x00\t\x00 \x001\x002\x00,\x007\x008\x008\x00,\x005\x002\x008\x00.\x000\x004\x00\r\x00\n'
当我在 python 终端中键入变量 line 时,它显示以下内容:
>>> line
'\x00\t\x007\x00\t\x00C\x00a\x00r\x00d\x00i\x00o\x00 \x00M\x00e\x00t\x00a\x00b\x00o\x00l\x00i\x00c\x00 \x00C\x00a\x00r\x00e\x00\t\x00\t\x00\t\x00\t\x00 \x001\x002\x00,\x007\x008\x008\x00,\x005\x002\x008\x00.\x000\x004\x00\r\x00\n'
当我打印它时,它显示如下:
>>> print line
7 Cardio Metabolic Care 12,788,528.04
在变量 line 中,每个单词都使用 \t 分隔,我想将其保存到 csv 文件中。所以我尝试使用以下代码:
import csv
with open('test.csv', 'wb') as csvfile:
spamwriter = csv.writer(csvfile, delimiter=',')
spamwriter.writerow(line.split('\t'))
当我查看 test.csv 文件时,我只得到以下内容
,,,,,,
是否可以将单词放入 csv 文件中。请帮忙。
【问题讨论】:
-
CSV 实际上并不代表逗号。它也代表 Tab。所以你已经有了一个 CSV!
-
实际上我正在尝试将损坏的文件转换为 csv 文件。
-
print(line.split("\t"))给你什么? -
您读取文件不正确。使用
open("source.csv","r", "utf-16")或io.open("source.csv","r", encoding = "utf-16")打开它。