以下示例是我的结果,行数约为100万。
1 MSH12278732 HSH07392960 956
2 MSH12278732 WSH88257552 940
3 MSH12278732 CSH71109822 923
4 MSH12278732 FSH16284786 920
5 MSH12278732 sucharu_85 917
6 MSH12278732 TSH39376759 911
7 MSH12278732 MSH44112791 908
8 ---- ----- ---
依旧......
我的节目是:
with open ("result3.csv",'wb') as outcsv:
writer=csv.writer(outcsv)
wr=csv.writer(outcsv,dialect='excel')
结果是
wr.writerow(z)
TypeError: 'str' does not support the buffer interface
答案 0 :(得分:1)
如果您的源数据位于文本文件中,则以下内容应根据需要运行:
import csv, StringIO
data = """1 MSH12278732 HSH07392960 956
2 MSH12278732 WSH88257552 940
3 MSH12278732 CSH71109822 923
4 MSH12278732 FSH16284786 920
5 MSH12278732 sucharu_85 917
6 MSH12278732 TSH39376759 911
7 MSH12278732 MSH44112791 908"""
with open ("result3.csv",'wb') as f_output:
csv_reader = csv.reader(StringIO.StringIO(data), delimiter=' ')
csv_writer = csv.writer(f_output, dialect='excel')
csv_writer.writerows(csv_reader)
如果您已经将数据作为一个大块,如上所示,您可以按如下方式进行调整:
1,MSH12278732,HSH07392960,956
2,MSH12278732,WSH88257552,940
3,MSH12278732,CSH71109822,923
4,MSH12278732,FSH16284786,920
5,MSH12278732,sucharu_85,917
6,MSH12278732,TSH39376759,911
7,MSH12278732,MSH44112791,908
这两个都会提供以下输出,可以加载到Excel中:
TypeError: 'str' does not support the buffer interface
注意,如果您使用的是Python 3,则会收到错误open
。您需要更改with open("result3.csv",'w', newline='') as f_output:
....
语句,如下所示:
using (IAmazonS3 s3Client = new AmazonS3Client(accessKey, secretKey))
{
S3DirectoryInfo s3DirectoryInfo = new Amazon.S3.IO.S3DirectoryInfo(s3Client, "testbucket");
if (s3DirectoryInfo.GetFiles("test*").Any())
{
//file exists -- do something
}
else
{
//file doesn't exist -- do something else
}
}
答案 1 :(得分:0)
你没有提供足够的细节来帮助我们帮你调试你的东西,但至少我可以告诉你:
writer=csv.writer(outcsv)
wr=csv.writer(outcsv,dialect='excel')
这可能会失败。你在同一个文件上使用了两个csv编写器,我不确定csv.writer()
是否设计用于应对这种情况
答案 2 :(得分:0)
从错误消息 -
TypeError:'str'不支持缓冲区接口
我认为这个问题是因为行 -
with open ("result3.csv",'wb') as outcsv:
您应该以{{1}}模式打开文件,而不是二进制模式(w
)。示例 -
'wb'
我可以使用 -
重现类似的错误with open ("result3.csv",'w') as outcsv: