我已将文件导出为CSV格式。在excel中,数据全部在第一列(每行四列),看起来像这样 -
like "name" "email" "message"
"yes" "John Smith" "John@gmail.com" "My message"
...etc.
当我导入文件时,这就是我得到的 -
'"""like"",""name"",""email"",""message"""\r""
"yes"",""John Smith"",""John@gmail.com"",""My message"""'
如何在Python中转换此字符串以便将其插入数据库?我想我需要将每一行分成一个列表,然后运行for循环以将第一行与所有其他行压缩。然后从元组列表中创建一个dict并将其插入到db中。这种方法看起来是否正确?我怎么把这个奇怪的字符串转换成那个 - 我很难尝试这样做?谢谢。
更新
当然,这不是最有效/实用的方法......
从最后开始 -
{'like':'yes','name':'John Smith','email': 'John@gmail.com, 'message': 'My message'}
这可以通过做 -
来实现zip[('like','name','email','message'),('yes','name','email','message')]
使用for循环,因此zip将在(tuple[0],tuple[n])
上执行。
那么,我如何将原始python字符串转换为元组列表,以便将其添加到数据库中?是否有更好的方法(不包括使用python模块来轻松完成此操作) ?
答案 0 :(得分:2)
使用Python的标准库来解析CSV文件并提取您需要放入数据库的数据:
import csv
with open('some.csv', 'rb') as f:
reader = csv.reader(f, delimiter=' ')
for row in reader:
print row