从函数结果python创建csv文件

从函数结果python创建csv文件,python,csv,pdf,Python,Csv,Pdf,我正在从{}使用这个pdf到csv函数,我想知道现在如何将结果导出到驱动器上的csv文件?我试着加入函数 with open('C:\location', 'wb') as f: writer = csv.writer(f) for row in data: writer.writerow(row) 但是生成的csv文件每行有一个字符,而不是我在python中打印数据时的行。如果每行打印一个字符,那么就有一个字符串。你的循环 for row in data:

我正在从{}使用这个pdf到csv函数,我想知道现在如何将结果导出到驱动器上的csv文件?我试着加入函数

with open('C:\location', 'wb') as f:
    writer = csv.writer(f)
    for row in data:
        writer.writerow(row)

但是生成的csv文件每行有一个字符,而不是我在python中打印数据时的行。

如果每行打印一个字符,那么就有一个字符串。你的循环

for row in data:
转化为

for character in string:
所以你需要把你的字符串分成你想要写在一行上的块。您可能可以使用类似于
data.split()
的东西,但是如果不看到更多的代码和数据,就很难说了

针对你的评论: 是的,您可以将数据转储到CSV。。。如果它遵守CSV的规则。如果数据以逗号分隔,每行以换行符结尾,则可以将数据写入文件

with open ("file.csv",'w') as f:
  f.write(data)

只有当您的数据符合csv规则时,这才有效。

数据的类型是什么?如果它是一个字符串,您只是在字符上迭代,实际上每行写一个字符。它是一个字符串。有没有一种方法可以让我只创建一个csv,它包含数据的精确结果,而无需进行迭代?这一切都取决于数据的格式。如果它在行中,您可以尝试使用行分隔符
lines=data.split(“\n”)
拆分它。此外,还必须将序列传递给
writer.writerow
。请参见@AndreiCozma注意,反斜杠是转义字符,因此您可能希望在此处使用双反斜杠插入文字:
并将open('C:\location','wb')作为f:
传递整个结果将非常困难,因为其中有195页。整个csv的巡演解决方案在Bravosierra99中确实有效,但我认为数据不符合csv的规则。例如,来自打印数据的3行:SMC公司;(6273);67,369,359;0新川有限公司。;(6274);20,047,500;0纳维教育股份有限公司。;(6276);5,722,500;我的csv文件中的0是:分布在5列上,而不是新列不从“;”开始的位置是在数据中。为3条评论道歉您还有什么问题?数据是否没有进入正确的行?我认为行是正确的,但我没有用“;”分隔列,这意味着某些单元格包含我无法使用的数据